pytesseract介绍:
pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格式。本文介绍如何使用pytesseract 实现图片文字识别。
什么是OCR?
OCR(Optical character recognition,光学字符识别)是一种将图像中的手写字或者印刷文本转换为机器编码文本的技术。通过数字方式存储文本数据更容易保存和编辑,可以存储大量数据,比如1G的硬盘可以存储数百万本书。文章源自玩技e族-https://www.playezu.com/754127.html
OCR可以做什么?
OCR技术可以将图片,纸质文档中的文本转换为数字形式的文本。OCR过程一般包括以下步骤:文章源自玩技e族-https://www.playezu.com/754127.html
图像预处理/文本定位/字符分割/字符识别/后处理,最初由惠普开发,后来Google赞助的开源OCR引擎 tesseract 提供了比较精确的文字识别API,支持100多种语言,本文将要介绍的Python库Pytesseract就是基于Tesseract-OCR 引擎。文章源自玩技e族-https://www.playezu.com/754127.html
环境要求:(win环境和liunx均可)
- Python 3.6+
- PIL库
- 安装Google Tesseract OCR
- 系统:windows/mac/linux,我的系统是Windows10
软件安装:(win环境支持)
Tesseract OCR github地址:https://github.com/tesseract-ocr/tesseract文章源自玩技e族-https://www.playezu.com/754127.html
Windows Tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/文章源自玩技e族-https://www.playezu.com/754127.html
Mac和Linux安装方法参考:https://tesseract-ocr.github.io/tessdoc/Installation.html文章源自玩技e族-https://www.playezu.com/754127.html
安装时可以选择需要的语言包:文章源自玩技e族-https://www.playezu.com/754127.html
文章源自玩技e族-https://www.playezu.com/754127.html
安装完成后,添加到环境变量PATH中,我的安装路径是:C:\Program Files\Tesseract-OCR
。文章源自玩技e族-https://www.playezu.com/754127.html
命令行窗口输入:tesseract
,查看是否安装成功。文章源自玩技e族-https://www.playezu.com/754127.html
温馨提示:最好不要安装到C盘因为有些电脑需要管理员权限
安装pytesseract(python环境依赖)
pip安装pytesseract,Python tesseract:https://github.com/madmaze/pytesseract
pip install pytesseract
程序案例:
适用场景:
想通过打印面单上面的文字是否存在,或者系统生成的pdf是否包含自己自定义的文字内容。
实现目标:
通过以上代码实现:当没有pdf路径时创建自动创建,再之前的步骤中已在路径下生成了pdf临时存在本地的指定文件夹路径下。
1.然后打开pdf,首先判断pdf中是否存在文本值,如果存在则打上标记。
2.获取pdf中所有的图片个数,然后将其按照 if pix.n - pix.alpha的方式判断是否格式可以存为png。
3.添加图片尺寸验证,防止图片过小。
4.pytesseract.image_to_string将图片转为文字,遍历所有图片将所有的文字合并返回结果。
部分调试:
(图片获取结果)
(图片转为text)
(合并输出结果)