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中wx将图标显示在右下角的脚本代码
Mar 08 Python
编写Python CGI脚本的教程
Jun 29 Python
Python实现自动发送邮件功能
Mar 02 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
Mar 24 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
python 使用while循环输出*组成的菱形实例
Apr 12 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
基于keras中的回调函数用法说明
Jun 17 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
python中return不返回值的问题解析
Jul 22 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php给数组赋值的实例方法
2019/09/26 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
js实现tab切换效果
2017/02/16 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
python简单程序读取串口信息的方法
2015/03/13 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python3 mmh3安装及使用方法
2019/10/09 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
企业厂长岗位职责
2013/12/17 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
解除财产保全担保书
2014/05/20 职场文书
公司开会通知
2015/04/20 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
数据库连接池
2021/04/06 MySQL