一、使用百度账号登录,查看 百度OCR识别API文档 ;
首次创建新的应用,必须将文字识别中需要的✔,界面如下:
二、使用键盘监听事件,监听用户有没有触发截屏快捷方式 ctrl+o,并将截取的图片存入到本地
#截取图片
def init():
# 1、获取键盘监听事件,监听用户有没有触发截屏快捷方式 ctrl+o
keyboard.wait("ctrl+o")
print("start screen capture....")
keyboard.wait("enter")
print("end screen capture....")
time.sleep(1)
# 2、用户选择的区域保存图片到本地
# 抓取剪切板的内容
image = ImageGrab.grabclipboard()
# 保存图片
image.save("my.png")
运行效果:
三、使用百度的识别文件->将保存的图片中的文字提取出来
# 百度识别文字读取 picfile:图片文件名
def baiduOCR(picfile):
# 百度提供3把钥匙
''' your AppID AK SK'''
App_ID='xxxxxx'
API_KEY='xxxxxxx'
SECRET_KEY='xxxxxxxxxx'
#初始化对象AipOcr
client =AipOcr(App_ID,API_KEY,SECRET_KEY)
# 3、将保存的图片中的文字提取出来
with open(picfile,'rb') as f:
#读取文件
img=f.read()
""" 调用通用文字识别(高精度版) """
result=client.basicAccurate(img)
# print(result)
mywords =result['words_result']
for w in mywords:
wd=w['words']
print("文字识别:"+wd)
运行效果:
四、使用有道翻译->将提前的文字进行自动翻译
# 百度识别文字读取 picfile:图片文件名
def baiduOCR(picfile):
# 百度提供3把钥匙
''' your AppID AK SK'''
#翻译url
url="http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i="
# 3、将保存的图片中的文字提取出来
with open(picfile,'rb') as f:
#读取文件
img=f.read()
""" 调用通用文字识别(高精度版) """
result=client.basicAccurate(img)
# print(result)
mywords =result['words_result']
for w in mywords:
wd=w['words']
print("文字识别:"+wd)
# 4、将提前的文字进行自动翻译
json_response=requests.get(url+wd).json()
# print(json_response)
#获取数据
translateResult=json_response['translateResult']
#循环
for t in translateResult:
result =t[0]['tgt']
print('翻译的结果:',result)
运行效果:
翻译:
截取QQ中的图片,再翻译