温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用 Python 进行 OCR 图像识别

发布时间:2021-07-10 15:33:12 来源:亿速云 阅读:462 作者:chen 栏目:编程语言

这篇文章主要介绍“如何用 Python 进行 OCR 图像识别”,在日常操作中,相信很多人在如何用 Python 进行 OCR 图像识别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用 Python 进行 OCR 图像识别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

数据采集就怕遇到图片,只能看不能复制怎么办。手动将文字提取出来,要耗费很大的工作量。例如下图,某楼盘的一房一价表,怎么样发现单价低位的房子?光凭肉眼很难发现吧,能否让计算机进行文字的识别,然后再对这些数值型信息进行数据分析。

如何用 Python 进行 OCR 图像识别

如何用 Python 进行 OCR 图像识别

如何用 Python 进行 OCR 图像识别

首先把图片中的单价提取出来,

如何用 Python 进行 OCR 图像识别

进而生成图像:

如何用 Python 进行 OCR 图像识别

用python就可以实现,采用现在流行的OCR图像识别。主要思路是使用机器学习模式,通过已有图片手动训练出一个图像识别模型,具体步骤如下:

一、将图片预处理,更方便计算机识别

(一)把图像灰化

使用open-cv库对图片进行处理。

如何用 Python 进行 OCR 图像识别

使用灰化后的图片,如下图,排除干扰信息,能让识别更加稳定。

如何用 Python 进行 OCR 图像识别

(二)把图片分割

将图片分割成小方块,一是提高识别精度,二是方便将数据储存为表格形式。可以设定好参数,根据坐标系把图片裁剪成一个个小方块,如下图,储存为jpg格式。

如何用 Python 进行 OCR 图像识别

二、建立图像识别模型

(一)将分割好的小方块图片合并成tiff文件

下载jTessBoxEditor,打开jTessBoxEditor.jar,使用tools下的merge tiff工具,将图片合并成tiff文件。

(二)使用已有模型对tiff文件进行初识别

下载并安装tesseract,并配置好环境变量,将Tesseract-OCR和tessdata的路径加入到环境变量下的path下面。Tesseract自带图像识别的模型,例如中文简体汉字识别模型chi_sim.traineddata,英文识别模型eng.traineddata,这些模型可以网上下载,放到tessdata里面即可使用。

然后进入tiff所在文件夹。在命令窗口,输入:tesseract ***.tif *** -l +++ -psm 7 batch.nochop  makebox,按回车生成box文件。其中***为tif的文件名,+++为要生成的traindata的文件名。

(三)使用jTessBoxEditor对tiff和box文件进行调整

打开jTessBoxEditor.jar,在box  editor中的open按钮,打开要编辑的tif文件。编辑之后保存,生成box文件。保存在同一个文件夹里。

(四)使用tiff和box文件生成模型

在tiff和box的文件中,在命令窗口输入以下代码,最终生成模型(traindata文件)

如何用 Python 进行 OCR 图像识别

上述脚本也可以写在bat文件中,运行脚本来生成traindata,最终仅需要将traindata复制到tessdata里面,即可使用该模型。

三、应用图像识别模型

安装完,训练完模型之后,就要在python中使用模型了。安装pytesseract,找到pytesseract.py文件,打开编辑,将其中的“tesseract_cmd  = 'tesseract'”,改成tesseract的安装路径(如C:\Program Files\Tesseract-OCR\\tesseract)。

因为模型是采用灰化后的图片训练的,所以在识别时也要使用灰化。

如何用 Python 进行 OCR 图像识别

四、优化图像识别模型

在使用中,如果有错误,可以存下来,加入训练库,优化图像识别模型。在一般是识别错误的图片,积攒一阵子后。累积做成tif文件。注意:同类错误选择几个记号了,训练库尽量小而精。

到此,关于“如何用 Python 进行 OCR 图像识别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI