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的web框架编写前端模版的教程
Apr 30 Python
python发送邮件脚本
May 22 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
python从子线程中获得返回值的方法
Jan 30 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
python中sympy库求常微分方程的用法
Apr 28 Python
opencv 查找连通区域 最大面积实例
Jun 04 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
Python 实现Mac 屏幕截图详解
Oct 05 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
用 PHP5 轻松解析 XML
2006/12/04 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php数组去重的函数代码
2013/02/03 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
JQuery球队选择实例
2015/05/18 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
深入理解React高阶组件
2017/09/28 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
python下载图片实现方法(超简单)
2017/07/21 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
python中while和for的区别总结
2019/06/28 Python
python 代码运行时间获取方式详解
2020/09/18 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
推广普通话演讲稿
2014/05/23 职场文书
分公司经理任命书
2014/06/05 职场文书