Python实现图片识别加翻译功能
Python使用百度AI接口实现图片识别加翻译
python诞生30周年
#encoding:utf-8
importrequests
importbase64
fromPILimportImage
importpytesseract
#这里需要安装一下Tesseract-OCR
#链接:https://pan.baidu.com/s/1D2eODet7x9xshBVi6ZUZ_Q
#提取码:qfef
#安装好之后别忘了把Tesseract-OCR路径添加到环境变量中
importjson
importrequests
importkeyboard#监听按键库
fromPILimportImageGrab#图像处理库
importtime
fromaipimportAipOcr#pipinstallbaidu_aip
#print("开始截图")
#1.截取图片
keyboard.wait(hotkey='ctrl+alt+a')
#print("键盘按下了'ctrl+alt+a'")
keyboard.wait('enter')
#print("键盘按下了'enter'")
#模拟延迟,来解决grabclipboard函数的缓存问题(grabclipboard函数操作太快,它就会读取上一次的内容)
time.sleep(0.1)
#2.保存图片到电脑上
image=ImageGrab.grabclipboard()
image.save('screen.png')
#*************************************************************************************
request_url="https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
#二进制方式打开图片文件
f=open('screen.png','rb')
img=base64.b64encode(f.read())
params={"image":img}
access_token="你自己的access_token,百度AI里面有教程,我把网址放下面了"
#https://ai.baidu.com/ai-doc/OCR/vk3h7y58v
request_url=request_url+"?access_token="+access_token
headers={'content-type':'application/x-www-form-urlencoded'}
response=requests.post(request_url,data=params,headers=headers)
print("文字识别:")
ifresponse:
locList=response.json()['words_result']
foriinlocList:
print(i['words'])
print("\n翻译:")
ifresponse:
locList=response.json()['words_result']
foriinlocList:
text=i['words']
##================================================================================##
#翻译函数,word需要翻译的内容
deftranslate(word):
#有道词典api
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
#传输的参数,其中i为需要翻译的内容
key={
'type':"AUTO",
'i':word,
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"ue":"UTF-8",
"action":"FY_BY_CLICKBUTTON",
"typoResult":"true"
}
#key这个字典为发送给有道词典服务器的内容
response=requests.post(url,data=key)
#判断服务器是否相应成功
ifresponse.status_code==200:
#然后相应的结果
returnresponse.text
else:
print("有道词典调用失败")
#失败就返回空
returnNone
defget_reuslt(repsonse):
#通过json.loads把返回的结果加载成json格式
result=json.loads(repsonse)
print("%s"%result['translateResult'][0][0]['tgt'])
defmain():
list_trans=translate(text)
get_reuslt(list_trans)
if__name__=='__main__':
main()
保存的图片如下:
打印结果如下:
总结
以上所述是小编给大家介绍的Python实现图片识别加翻译功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。