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 字符串格式化代码
Mar 17 Python
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
Python中常见的异常总结
Feb 20 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 Python
python的turtle库使用详解
May 10 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 Python
Python脚本打包成可执行文件过程解析
Oct 20 Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 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
sony ICF-2010 拆解与改装
2021/03/02 无线电
ASP知识讲座四
2006/10/09 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
JS实现的省份级联实例代码
2013/06/24 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
python数据结构树和二叉树简介
2014/04/29 Python
python 队列详解及实例代码
2016/10/18 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
flask开启多线程的具体方法
2020/08/02 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
正规的求职信范文分享
2013/12/11 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
毕业晚会主持词
2014/03/24 职场文书
总结表彰大会主持词
2014/03/26 职场文书
村干部培训班主持词
2014/03/28 职场文书
毕业生就业意向书
2014/04/01 职场文书
公司会议策划方案
2014/05/17 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
北京英文导游词
2015/02/12 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
中学校园广播稿
2015/08/18 职场文书
小学数学新课改心得体会
2016/01/22 职场文书