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 27 Python
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 Python
python的变量与赋值详细分析
Nov 08 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
python 多进程队列数据处理详解
Dec 23 Python
pytorch中的transforms模块实例详解
Dec 31 Python
Django 删除upload_to文件的步骤
Mar 30 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 Python
python 模拟登录B站的示例代码
Dec 15 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
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
js 异步处理进度条
2010/04/01 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
django session完成状态保持的方法
2018/11/27 Python
详解Python字典的操作
2019/03/04 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
详解Python3中的 input() 函数
2020/03/18 Python
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
市场营销工作计划书
2014/09/15 职场文书
报到证办理个人委托书
2014/10/06 职场文书
护士自我推荐信范文
2015/03/24 职场文书
人与自然的观后感
2015/06/18 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书
PHP遍历数组的6种方式总结
2021/11/17 PHP