趣文网 > 作文大全

使用Python制作一个简易的OCR图片文字识别工具

2020-11-19 05:00:02
相关推荐

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

Python制作一个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中测试看下效果。如下图所示。

图片文字提取成功

【把它封装成一个工具】

好了,我们的主要功能已经实现。现在,我们把这个方法封装到类中,制作一个类似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高手养成)

阅读剩余内容
网友评论
显示评论内容(4) 收起评论内容
  1. 2022-08-29 07:44心※星[重庆市网友]IP:1743120182
    这个工具的设计简洁明了,非常易于使用,我很喜欢。
    顶0踩0
  2. 2021-12-15 11:42の懓伱[山西省网友]IP:3393969282
    @尘帆我也想学习一下Python,这样我也可以自己制作一些小工具。
    顶19踩0
  3. 2021-04-02 15:40尘帆[湖北省网友]IP:460598392
    @093563Python太强大了,连OCR文字识别工具都可以用它实现,厉害!
    顶0踩0
  4. 2020-07-19 19:38093563[澳门网友]IP:3031627964
    这个工具太棒了,我可以用它来识别照片中的文字,真方便!
    顶7踩0
相关内容
延伸阅读
小编推荐

大家都在看

练字作文800字 作文日记300字 坚持的材料作文 新闻特写作文 真情作文600字 宝石花的作文 作文我是一个好孩子 关于猫的作文结尾 委屈的作文400字 父母之爱作文 写给两年后的自己作文 作文书香伴我成长 牵手作文600字 学会欣赏自己作文 高考作文必备素材 美的力量作文 健康生活方式作文 学校的长廊作文 赞美中国的作文 我们班的同学作文500字 初中元旦晚会作文 一件烦恼的事作文400字 怎么辅导作文 明信片英语作文 暑假作文500字 清明节作文800字作文 我不再退缩作文600字 英语记叙文作文 描写黄山云海的作文 幸福很简单作文800字