Python之pytesseract模块-实现OCR

Posted 酌三巡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之pytesseract模块-实现OCR相关的知识,希望对你有一定的参考价值。

在给PC端应用做自动化测试时,某些情况下找不到界面上的控件,但我们又想获得界面上的文字,则可以通过截图后从图片上去获取该文字信息。那么,Python中有没有对应的工具来实现OCR呢?答案是有的,它叫pytesseract。官方给它的定义如下,一起来了解和使用吧。

Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and "read" the text embedded in images.

Python-tesseract is a wrapper for Google\'s Tesseract-OCR Engine. It is also useful as a stand-alone invocation script to tesseract, as it can read all image types supported by the Pillow and Leptonica imaging libraries, including jpeg, png, gif, bmp, tiff, and others. Additionally, if used as a script, Python-tesseract will print the recognized text instead of writing it to a file.

安装

1.首先下载并安装teseseract安装包,下载地址:https://digi.bib.uni-mannheim.de/tesseract/

2.安装完成后,添加系统环境变量。

3.安装对应的Python库。在实践过程中,单独安装pytesseract时会报错,需要与pillow一起安装。

pip install pillow
pip install pytesseract

4.根据需要解析的文字语言,下载对应的语言包,下载地址:https://github.com/tesseract-ocr/tessdata ,拿中文语言包举例,下载chi_sim.traineddata后,将其放入Teseseract-OCR安装目录下的tessdata目录即可。

使用

举个例子,想要提取图片中的“酌三巡”三个字。

 使用方法非常简单,调用pytesseract.image_to_string()方法即可。

from PIL import Image
import pytesseract

img = Image.open("demo.png")
ocr_text = pytesseract.image_to_string(img, lang="chi_sim")
print("提取结果为:", ocr_text)

运行结果:

 

参考资料

  • https://github.com/madmaze/pytesseract
  • https://github.com/tesseract-ocr/tesseract

作者:酌三巡

分享不易,转载请注明出处!

以上是关于Python之pytesseract模块-实现OCR的主要内容,如果未能解决你的问题,请参考以下文章

python下调用pytesseract识别某网站验证码

python使用之识别验证码及相关问题

python pytesseract模块,报错

ubuntu 安装 pytesseract 模块进行图片内容识别

python-使用内置库pytesseract实现图片验证码的识别

Python验证码识别 安装Pillowtesseract-ocr与pytesseract模块的安装以及错误解决