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中3种内建数据结构:列表、元组和字典
Nov 30 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 Python
requests和lxml实现爬虫的方法
Jun 11 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
NumPy 基本切片和索引的具体使用方法
Apr 24 Python
详解Python Qt的窗体开发的基本操作
Jul 14 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
python实现图片素描效果
Sep 26 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
详细介绍Python中的偏函数
2015/04/27 Python
python正则表达式re之compile函数解析
2017/10/25 Python
python字符串常用方法
2018/06/14 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
Python使用xpath实现图片爬取
2020/09/16 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
html5唤醒APP小记
2019/03/27 HTML / CSS
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
一些Solaris面试题
2015/12/22 面试题
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书