推广 热搜:     参数  行业  机械  教师  设备  系统  公司  企业 

使用Python调用百度AI接口,制作一个简易的OCR图片文字识别工具

   日期:2024-12-11     浏览:68    移动:http://sicmodule.glev.cn/mobile/quote/11658.html

最近,快要期中考试了,平时没有好好学习,在网上搜索了大量的考试复习资料。无奈,大多是收费版本的,对于学生党来说,随便下载一篇内容,无疑要花掉我们好几顿饭的money。有没有好的办法呢?今天带领大家使用Python制作一个简易的OCR图片文字识别工具,来解决这类问题。

使用Python调用百度AI接口,制作一个简易的OCR图片文字识别工具

【我们需要知道的几个知识点】

OCR:中文叫光学字符识别,英文全称是Optical Character Recognition,说白了就是从电子设备中显示的图片上面查找我们需要的字符,通过检测、识别将字符翻译成计算机文字的过程。

截屏键:我们每个人的计算机键盘上面是不是有一个PrtSc,可能有的键盘显示不一样,但我的键盘上是这样,其它键盘肯定也有,除非……呃,可能不是地球上的键盘,再者就是有的小键盘可能没有这个键,但是恕我孤陋寡闻,我没见过这种键盘。

mspaint:我们使用windows系统时,按住‘win’+ ‘R’键(什么?你找不到这个键?自行百度吧,兄嘚),会弹出一个对话框,在对话框中输入mspaint会打开系统提供给我们的一个简易的绘图工具,通过这个工具可以实现对图像的简单处理。比如截图,保存图片等等操作。

【思  路】

打个比方,如果你在电脑上看到了一篇很不错的文章,使用截屏键(PrtSc)先把它截取下来,如果你刚好是个懒人,不想一个字一个字的去敲这些内容,而你又很想编辑这些内容。这时候,你可以打开mspaint(什么?你找不到?那你可能使用的是别的操作系统,linux、mac、unix……我猜你是个高手,那请略过此文)。然后新建一个图片文件,然后Ctrl+V粘贴屏幕截图,裁剪你需要的文字,保存在一副图片里面。再使用我们的工具(下文烹饪),你就可以轻轻松松的获取图片中的文字了……

带大家制作一个有用工具

上面只是教大家一个方法,我们此文讨论的重点是如何实现这个工具。本文涉及的知识点有:百度AI提供的API接口的使用、百度AI账号的注册以及baidu-aip库的安装。请大家自行上网学习。类似教材网上有好多。我们今天主要是结合这些内容做一个实例供大家使用。

【Python程序实现OCR】

我们要实现这个功能,我总结了一下,现今主要有两种方式,各有优劣,一种是使用Tesseract-OCR库,这种方式实现较为复杂,需要配置一些环境变量和参数,对于小白来说可能有点难度;另一种是使用百度API接口,这种方式较为直接,只要申请一个百度账号即可免费使用,对于申请方式大家自行网络学习,本文不做进一步探讨。开始前我们需要具备下面一些条件:

百度AI中创建一个免费的图像识别应用后,系统给你生成的AppID、API Key、Secret Key,这三个内容我们程序中需要使用的。

安装baidu-aip模块。当然是使用pip install baidu-aip进行安装了。

有了这两个先决条件,我们打开神器PyCharm,开始敲代码吧。

Python实现OCR功能

然后,我们测试下这个方法,看看是否能返回正确的文字,我们以一副李白的《将进酒》图片输入,看下是否能返回里面的文字,如下图所示。

需要识别文字的图片长这样

我们在PyCharm中测试看下效果。如下图所示。

PyCharm下测试成功

【把它封装成一个工具】

好了,我们的主要功能已经实现。现在,我们把这个方法封装到类中,制作一个类似OCR的工具,创建一个图形界面类。主要代码如下所示。

首先,导入我们需要的模块

from aip import AipOcrfrom tkinter import *from tkinter.messagebox import askyesnofrom tkinter.simpledialog import messageboxfrom tkinter.filedialog import askopenfilename, asksaveasfilenamefrom tkinter.scrolledtext import ScrolledText

然后自定义一个App类,下面是类的变量初始化代码。

类初始化

程序比较简单,这里就不一一解释了,有问题的朋友们欢迎留言讨论。

最重要的一步,我们对按钮的点击事件进行响应。

首先是打开图片按钮的响应事件函数,我们看下具体代码,如下图所示。

打开图片文件按钮响应事件函数

然后我们点击另一个按钮就会将获取到的文本内容进行保存,当然,我们可以对识别的错误进行修正后保存哦……保存按钮响应事件如下图所示。

保存文本文件按钮响应事件函数

我们看下界面显示效果吧!如下图所示。

程序执行效果演示

程序成功执行。怎么样,是不是很酷?需要强调的是,调用百度API需要联网哦!并且,好像免费的图像识别功能每天只能调用500次,所以我的AppID没有给大家分享。对这个课题感兴趣的话欢迎大家留言讨论。

转载请注明出处,百家号:Python高手养成

本文地址:http://sicmodule.glev.cn/quote/11658.html    歌乐夫 http://sicmodule.glev.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号