Python实现图片识别加翻译功能


Posted in Python onDecember 26, 2019

Python使用百度AI接口实现图片识别加翻译

python诞生30周年

# encoding:utf-8
import requests
import base64
from PIL import Image
import pytesseract
# 这里需要安装一下 Tesseract-OCR
# 链接:https://pan.baidu.com/s/1D2eODet7x9xshBVi6ZUZ_Q 
# 提取码:qfef
# 安装好之后别忘了把Tesseract-OCR路径添加到环境变量中
import json
import requests
import keyboard #监听按键库
from PIL import ImageGrab #图像处理库
import time
from aip import AipOcr #pip install baidu_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("文字识别:")
if response:
  locList = response.json()['words_result']
  for i in locList:
    print(i['words'])
print("\n翻译:")
if response:
  locList = response.json()['words_result']
  for i in locList:
    text = i['words']
##================================================================================##
    # 翻译函数,word 需要翻译的内容
    def translate(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)
      # 判断服务器是否相应成功
      if response.status_code == 200:
        # 然后相应的结果
        return response.text
      else:
        print("有道词典调用失败")
        # 失败就返回空
        return None
    def get_reuslt(repsonse):
      # 通过 json.loads 把返回的结果加载成 json 格式
      result = json.loads(repsonse)
      print("%s" % result['translateResult'][0][0]['tgt'])
    def main():
      list_trans = translate(text)
      get_reuslt(list_trans)
    if __name__ == '__main__':
      main()

保存的图片如下:

Python实现图片识别加翻译功能

打印结果如下:

Python实现图片识别加翻译功能

总结

以上所述是小编给大家介绍的Python实现图片识别加翻译功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python获取DLL和EXE文件版本号的方法
Mar 10 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
Python标准库inspect的具体使用方法
Dec 06 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
python防止随意修改类属性的实现方法
Aug 21 Python
Python字符串hashlib加密模块使用案例
Mar 10 Python
使用Keras画神经网络准确性图教程
Jun 15 Python
python七种方法判断字符串是否包含子串
Aug 18 Python
python实现画图工具
Aug 27 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 #Python
opencv之为图像添加边界的方法示例
Dec 26 #Python
Python 过滤错误log并导出的实例
Dec 26 #Python
python3 pathlib库Path类方法总结
Dec 26 #Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 #Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 #Python
基于h5py的使用及数据封装代码
Dec 26 #Python
You might like
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
JSON 学习之完全手册 图文
2007/05/29 Javascript
Document 对象的常用方法
2009/07/31 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
2014/03/06 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
python+Django实现防止SQL注入的办法
2019/10/31 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
Python tkinter模版代码实例
2020/02/05 Python
sklearn+python:线性回归案例
2020/02/24 Python
Python datetime模块的使用示例
2021/02/02 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
毕业自荐书
2013/12/09 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
环境日宣传活动总结
2014/07/09 职场文书
爱国影片观后感
2015/06/18 职场文书
暂住证证明
2015/06/19 职场文书
导游词之镜泊湖
2019/12/09 职场文书