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中random模块用法实例分析
May 19 Python
python中set常用操作汇总
Jun 30 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
Python2随机数列生成器简单实例
Sep 04 Python
答题辅助python代码实现
Jan 16 Python
python之array赋值技巧分享
Nov 28 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
python FTP批量下载/删除/上传实例
Dec 22 Python
Python更新所有已安装包的操作
Feb 13 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 Python
Python selenium的这三种等待方式一定要会!
Jun 10 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数组操作
2011/12/30 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
phpinfo的知识点总结
2019/10/10 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
python套接字流重定向实例汇总
2016/03/03 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
python分布式编程实现过程解析
2019/11/08 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
毕业生造价工程师求职信
2013/10/17 职场文书
经典团队口号
2014/06/06 职场文书
优秀党员申报材料
2014/12/18 职场文书
技术负责人岗位职责
2015/02/10 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
Nginx实现负载均衡的项目实践
2022/03/18 Servers
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫