杰网资源 Design By www.escxy.com
本程序调用百度OCR API对剪贴板的图片文字识别,配合CaptureScreen软件,可快速识别文字。
#!python3
import urllib.request, urllib.parse
import os, io, sys, json, socket
import base64
from PIL import ImageGrab
socket.setdefaulttimeout(30)
def get_auth():
apikey = 'your apikey'
secret_key = 'your secret key'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s' % (apikey, secret_key)
req = urllib.request.Request(host)
req.add_header('Content-Type', 'application/json; charset=UTF-8')
res = urllib.request.urlopen(req)
content = res.read()
if (content):
o = json.loads(content.decode())
return o['access_token']
return None
def ocr_clipboard():
im = ImageGrab.grabclipboard()
if im is None:
print('No image in clipboard')
return
print('image size: %sx%s\n>\n' % (im.size[0], im.size[1]))
mf = io.BytesIO()
im.save(mf, 'JPEG')
mf.seek(0)
buf = mf.read()
b64 = base64.encodebytes(buf)
access_token = get_auth()
if access_token is not None:
url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=%s' % access_token
data = urllib.parse.urlencode({'image' : b64}).encode()
req = urllib.request.Request(url, method='POST')
req.add_header('Content-Type', 'application/x-www-form-urlencoded')
with urllib.request.urlopen(req, data) as p:
res = p.read().decode('utf-8')
o = json.loads(res)
if o['words_result'] is not None:
for w in o['words_result']:
print(w['words'])
print('\n<<<')
else:
print('access_token is none')
if __name__ == '__main__':
x = input('ocr form clipboard image: z to ocr, q to quit-->')
while(x != 'q'):
if x=='z':
ocr_clipboard()
x = input('ocr from clipboard image: r to ocr, q to quit-->')
print('bye')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
杰网资源 Design By www.escxy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
杰网资源 Design By www.escxy.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。



