商务服务
Python3 图片文字识别翻译——调用百度AI、百度翻译和有道翻译的API
2025-01-02 13:56

  • 百度AI

    • 文字识别API

      获取文字识别应用的AppID、API KEY、Secret Key

  • 百度翻译开放平台

    • 百度翻译API

      加入百度翻译开放平台,获取百度翻译应用的APP ID、密钥

  • 有道智云

    • 有道翻译API

      获取有道翻译应用的APP ID、密钥

阅读百度官方提供的API文档,图片的文字识别需要安装百度ai的包

  • 获取连接client
  • 读取图片
  • 调用通用识别方法
  • 接收返回结果
  • 结果解析
 

返回结果示例

 

至此,简单版图片文字识别已完成,详细阅读官方文档

1. 百度翻译

百度翻译API

请求

通用翻译API HTTP地址:http://api.fanyi.baidu.com/api/trans/vip/translate

通用翻译API HTTPS地址:https://fanyi-api.baidu.com/api/trans/vip/translate

完整请求示例为:http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4

下面我们需要拼接这个url请求,官方解释如下

  • q:请求翻译query,例如文字识别出的文字

    :若翻译多个单词或者多段文本,需要发送请求之前对q字段做URL encode

  • from:翻译源语言,语言选择代码见官方文档,常见的有:auto-自动检测,zh-中文,en-英文

  • to:译文语言 :不可设置为auto

  • appid: APP ID

  • salt:随机数 例如 salt = random.randint(1, 65536)

  • sign:签名 appid+q+salt+密钥 的MD5值

     
解析返回数据

返回示例

 
fromTEXT翻译源语言toTEXT译文语言trans_resultMIXED LIST翻译结果srcTEXT原文dstTEXT译文

:若返回的是response.text,在解析时,需要将字符串转化为json

至此,百度通用翻译已完成,详细阅读官方文档

2. 有道翻译(与百度翻译类似)

有道翻译API

请求

有道翻译API HTTP地址:http://openapi.youdao.com/api

有道翻译API HTTPS地址:https://openapi.youdao.com/api

完整请求示例为:http://openapi.youdao.com/api?q=good&from=EN&to=zh_CHS&appKey=ff889495-4b45-46d9-8f48-946554334f2a&salt=2&sign=1995882C5064805BC30A39829B779D7B

字段名类型含义必填备注qtext要翻译的文本True必须是UTF-8编码fromtext源语言True语言列表 (可设置为auto)totext目标语言True语言列表 (可设置为auto)appKeytext应用 IDTrue可在 应用管理 查看salttext随机数Truesigntext签名,通过md5(appKey+q+salt+应用密钥)生成TrueappKey+q+salt+应用密钥的MD5值ext翻译结果音频格式,支持mp3falsemp3voice翻译结果发音选择,0为女声,1为男声,默认为女声false0

* 来自官方文档

中英文语言代码:zh-CHS-中文,EN-英文,更多见 支持语言表

具体请求操作与百度翻译类似,就不赘述了。

解析返回数据

官方示例如下

 

与百度翻译类似,若返回的是response.text,需要将字符串转化为json

接下来就是根据需要,解析json从而获得想要的结果。

至此,有道通用翻译已完成,详细阅读官方文档

 

ImageGrab.grabclipboard() 获取剪贴板的快照对象, 调用isinstance() 判断是否为图片。

  • 如何将剪贴板的图片对象传入到百度文字识别函数中

    将读到的图片对象写入到内存字节缓冲区中,然后百度文字识别函数从内存字节缓冲区中读取到图片进行识别

     

    以上,将mf对象传给百度文字识别函数

     

感觉整个项目过程中,属图形界面最花时间,也是最让我烦恼的。不过说到底还是对tkinter不熟悉,需要用的时候都是现查。虽然之前做过一个小demo–天气查询,基础功能已实现,看起来很low。

初始设计图如下

效果图如下(还存在一些问题)

1. 按照设计图填充控件

(1)窗体初始化
 
(2)主体框架
 
(3)左边frame填充
 
(4)中间frame填充
 

以上控件会涉及到一些函数

  • ocr_clipboard()

    从剪贴板获取图片,第四章已经提到了,补充 图片自适应窗体大小

     
      
    • resize()

       
  • scan_image()

     
  • ocr_image()

     
      
    • ocr()

      调用第二章中的百度图片文字识别

  • show_msg()

     
  • trans()

     
      
    • translate()

      调用第三章中的文字翻译函数

(5)右边frame填充
 
(6)底部frame填充
 

2. 补充——设置代理(存在问题

在调用识别、翻译时都是需要网络的,在特殊情况下,本地网络需要走代理,这时需要灵活地设置代理功能。想法是设计一个类似微信客户端的代理设置界面(弹窗设置)。

整体效果

(1)新建agent.py文件
 
(2)主窗体调用设置代理弹窗

主窗体添加设置代理按钮

 
  • set_proxy()

     
      
    • get_info()

       
(3)修改网络调用的函数(添加代理

在百度识图和翻译调用函数中,需要传输代理参数。具体如何添加就不多讲了

 
  • set_proxy()

    解析agent,获取addr,port,user,passwd即可,注proxies是字典类型

如何保存代理配置

重新打开程序的时候,代理设置就会被初始化(初始化代理状态是关闭)。

如果是读取配置文件,那么程序运行后会生成一个config文件;但初衷是只打包成一个exe文件,双击即可运行。

界面控件问题

程序初始运行,窗体如上图所示,左侧图片控件内容为空时,未加载指定大小,若插入图片后,左侧frame会扩展为指定大小,中部和右侧frame会向右移动,见第五章的程序界面设计效果图;而且底部frame未显示,需要手动向下放大才能显示Label(Copyright)。不知如何解决,tkinter的窗口调试太麻烦了。

界面美化

界面如同90年代的Windows 98风格(笑哭,太丑了(无力吐槽)。

以上问题欢迎提供解决方案


Python图像处理库PIL的ImageGrab模块介绍

python界面上的图片缩放,根据窗口大小

tkinter Combobox组件

获取屏幕及桌面大小

    以上就是本篇文章【Python3 图片文字识别翻译——调用百度AI、百度翻译和有道翻译的API】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/14693.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
淘宝开店手机端怎么弄,淘宝如何手机开店流程手机淘宝「淘宝开店手机端怎么弄,淘宝如何手机开店流程」
近年来,随着互联网的发展,越来越多的人选择在网上开店创业。而淘宝作为中国最大的电商平台,吸引了无数创业者的目光。对于很多
手机贴膜硬核科普,一分钟搞懂8种手机膜的区别手机钢化膜「手机贴膜硬核科普,一分钟搞懂8种手机膜的区别」
创作立场声明:文中列举商品仅为示范作用,与品牌无关。说起手机贴膜,想必大家并不陌生,很多人拿到手机后的第一件事,就是贴膜
你以为它死了,其实它复活了,诺基亚手机回归带来十个疑问高颜值手机「你以为它死了,其实它复活了,诺基亚手机回归带来十个疑问」
  2008年1月16日,德国波鸿,在一次员工示威期间,一位诺基亚公司的女员工落泪。你以为它死了,其实它复活了,是的,说的就是
华为折叠手机2023新款价格 华为最新款手机折叠华为新款手机「华为折叠手机2023新款价格 华为最新款手机折叠」
折叠手机是智能手机的一种造型,柔性AMOLED屏幕是折叠手机的突破关键。寰宇舷窗,探索未来独创寰宇舷窗设计,以探索之姿洞见未⁠
139手机邮箱注册(139手机号邮箱注册)
  关于《139手机邮箱注册》的文章  在当今信息化社会,电子邮件已成为人们日常生活和工作中不可或缺的一部分。而手机邮箱因
信息门户手机信息「信息门户」
我校信息门户于2019年1月上线,与南京大学APP互为移动端服务补充,为师生提供在线服务、消息提醒、推文宣传等服务功能。 微信搜
手机能一直开着录音吗 手机一直开着录音行吗【详解】手机录音「手机能一直开着录音吗 手机一直开着录音行吗【详解】」
  能一直开着录音,但是要保证电量和储存空间的充足。一旦录音的储存空间被占满,录音就会停止,保证电量充足,可以边充边录音
张蔷属于昨天,更属于“明天”(音乐节)v i v o 手机「张蔷属于昨天,更属于“明天”(音乐节)」
张蔷,中国内地流行音乐代表人物,传奇天才女歌手,80年代中国流行文化偶像符号,21世纪迪斯科回潮的新女皇。 从小深受从事音乐
2k14手机(2k14手机版中文版下载)
  《2K14手机》:超越视觉的极致体验  在当今科技飞速发展的时代,手机已经成为了我们生活中不可或缺的一部分。而《2K14手机
适合情侣玩的手机游戏前五名 有适合两个人玩的游戏吗情侣手机「适合情侣玩的手机游戏前五名 有适合两个人玩的游戏吗」
游戏还是两个人一起玩有意思,特别是情侣之间,不但能娱乐,还能增进俩人之间的亲密感情。还有异地恋的情侣们,每天只能依靠煲电