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通过scapy获取局域网所有主机mac地址示例
May 04 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Python使用arrow库优雅地处理时间数据详解
Oct 10 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
Python 绘图库 Matplotlib 入门教程
Apr 19 Python
Python简单定义与使用二叉树示例
May 11 Python
python获取文件真实链接的方法,针对于302返回码
May 14 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
用python中的matplotlib绘制方程图像代码
Nov 21 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
为什么称python为胶水语言
Jun 16 Python
利用python调用摄像头的实例分析
Jun 07 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/02 日漫
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
javascript常用方法汇总
2014/12/02 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
python 判断一个进程是否存在
2009/04/09 Python
python将ip地址转换成整数的方法
2015/03/17 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python数据结构之单链表详解
2017/09/12 Python
查看Django和flask版本的方法
2018/05/14 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
智能室内花园:Click & Grow
2021/01/29 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
.net笔试题
2014/03/03 面试题
古汉语文学求职信范文
2014/03/16 职场文书
根叔历年演讲稿
2014/05/20 职场文书
邀请函的格式
2015/01/30 职场文书
公司表扬信格式
2015/05/04 职场文书
MySQL深分页问题解决思路
2022/12/24 MySQL