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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。