关于python:用-Python-进行-OCR-图像识别

45次阅读

共计 1393 个字符,预计需要花费 4 分钟才能阅读完成。

数据采集就怕遇到图片,只能看不能复制怎么办。手动将文字提取进去,要消耗很大的工作量。

例如下图,某楼盘的一房一价表,怎么样发现单价低位的房子?光凭肉眼很难发现吧,是否让计算机进行文字的辨认,而后再对这些数值型信息进行数据分析?

首先把图片中的单价提取进去,

进而生成图像:

用 python 就能够实现,采纳当初风行的 OCR 图像识别。次要思路是应用机器学习模式,通过已有图片手动训练出一个图像识别模型,具体步骤如下:

一、将图片预处理,更不便计算机辨认

(一)把图像灰化

应用 open-cv 库对图片进行解决。

应用灰化后的图片,如下图,排除烦扰信息,能让辨认更加稳固。

(二)把图片宰割

将图片宰割成小方块,一是进步辨认精度,二是不便将数据贮存为表格模式。能够设定好参数,依据坐标系把图片裁剪成一个个小方块,如下图,贮存为 jpg 格局。

二、建设图像识别模型

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

下载 jTessBoxEditor,关上jTessBoxEditor.jar,应用tools 下的 merge tiff 工具,将图片合并成 tiff 文件。

(二)应用已有模型对 tiff 文件进行初辨认

下载并装置 tesseract,并配置好环境变量,将Tesseract-OCRtessdata的门路退出到环境变量下的 path 上面。

Tesseract 自带图像识别的模型,例如中文简体汉字辨认模型 chi_sim.traineddata,英文辨认模型eng.traineddata,这些模型能够网上下载,放到tessdata 外面即可应用。

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

(三)应用 jTessBoxEditortiffbox 文件进行调整

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

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

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

上述脚本也能够写在 bat 文件中,运行脚本来生成 traindata,最终仅须要将 traindata 复制到 tessdata 外面,即可应用该模型。

三、利用图像识别模型

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

因为模型是采纳灰化后的图片训练的,所以在辨认时也要应用灰化。

四、优化图像识别模型

在应用中,如果有谬误,能够存下来,退出训练库,优化图像识别模型。在个别是辨认谬误的图片,积攒一阵子后。累积做成 tif 文件。留神:同类谬误抉择几个记号了,训练库尽量小而精。

以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python 编程学习圈,每日干货分享,发送“J”还可支付大量学习材料。或是返回编程学习网,理解更多编程技术常识。

正文完
 0