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中使用序列的方法
Aug 03 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
python实现二维码扫码自动登录淘宝
Dec 27 Python
Python实现的字典值比较功能示例
Jan 08 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
python遍历小写英文字母的方法
Jan 02 Python
在python中使用with打开多个文件的方法
Jan 07 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
python实现QQ批量登录功能
Jun 19 Python
使用python对多个txt文件中的数据进行筛选的方法
Jul 10 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
Pytorch的mean和std调查实例
Jan 02 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&MYSQL留言板源码
2020/07/19 PHP
php查看session内容的函数
2008/08/27 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
深入理解Python 代码优化详解
2014/10/27 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
微信公众号token验证失败解决方案
2019/07/22 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python创建子类的方法分析
2019/11/28 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
自学python用什么系统好
2020/06/23 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
如何处理简单的PHP错误
2015/10/14 面试题
说明书范文
2014/05/07 职场文书
2014年财政工作总结
2014/12/10 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
2015年度招聘工作总结
2015/05/28 职场文书