首先必须要搞清楚pytesseract和tesseractocr模块区别和联系。
1、pytesseract是官方维护的python模块,使用pip install即可安装,需要提前安装好tesseract的安装包并将路径加入环境变量
2、tesseractocr是非官方的python第三方模块,使用pip install一般都无法直接安装上,需要提供whl文件安装才方便,当然也需要提前安装好tesseract的安装包并将路径加入环境变量
tesseractocr的whl文件是通过tesseract源码编译得来的,以下是tesseractocr和需要安装tesseract对应版本关系,一般从5.x开始区别不大了,其实版本不对应也是可以使用的
tesseractocr版本 | tesseact版本 |
---|---|
2.7.1 | 5.4.1 |
2.7.0 | 5.3.4 |
2.6.2 | 5.3.4 |
2.6.0 | 5.3.1 |
2.5.2 | 5.3.0 |
2.4.0 | 4.0.0 |
注意:上面版本是根据官方最新whl版本统计。
以下是Python模块tesseractocr
的安装步骤和测试代码:
一、安装步骤
1. 安装Tesseract OCR引擎
- 下载:从Tesseract的官方页面或其他可信来源下载Tesseract OCR的安装包。确保选择与操作系统兼容的版本。
- 安装:双击安装包进行安装。在安装过程中,可以勾选“Additional language data”选项以安装OCR识别支持的语言包。这样OCR便可以识别多国语言。如果不勾选,也可以自行下载语言包并添加到
tessdata
目录下。这里推荐自行下载,如果勾选可能会导致安装失败
2. 配置环境变量
- 找到Tesseract OCR的安装目录,并将该目录添加到系统的环境变量中。这通常是通过右键单击“此电脑”(或“计算机”),选择“属性”,然后单击“高级系统设置”、“高级”和“环境变量”来完成的。
- 在“系统变量”部分,找到名为
Path
的变量,并选择“编辑”。然后,点击“新建”并将Tesseract OCR的安装路径添加到列表中。 - 另外,还可以创建一个新的系统变量
TESSDATA_PREFIX
,其值为Tesseract OCR安装路径加上\tessdata
。
3. 安装Python依赖库
- 打开命令行工具(如cmd、PowerShell或终端),并确保已经安装了Python和pip。
- 使用pip安装
tesseractocr
(或pytesseract
)和Pillow库。命令如下:
pip install tesserocr pillow
- 如果直接安装
tesseractocr
失败,可以尝试从gitee.com/FIRC/pythonlibs_whl_mirror或其他来源下载对应的.whl
文件,并使用pip进行本地安装。例如:
pip install D:/path/to/tesserocr-x.x.x-cpxx-cpxxm-win_amd64.whl
将上述命令中的路径替换为.whl
文件的实际路径。
二、测试代码
以下是一个使用tesseractocr
和Pillow库进行OCR识别的示例代码:
python"># -*- coding: utf-8 -*-
from PIL import Image
import tesserocr
img=Image.open('test.jpg')
print(img.size)
text = tesserocr.image_to_text(img,lang='chi_sim')
print('ocr result is:',text)
注意事项
- 确保Tesseract OCR引擎已正确安装并配置到环境变量中。
- 在使用
tesseractocr
时,请确保已安装对应的Python库。 - 如果需要识别非英文文本,请确保已安装相应的语言包并将其放置在Tesseract OCR的
tessdata
目录下。 - OCR识别的准确性受到图像质量、文本布局和字体等多种因素的影响。因此,在实际应用中可能需要对图像进行预处理以提高识别准确性。
通过以上步骤和代码示例,您应该能够在Python环境中成功安装并使用tesseractocr
进行OCR识别。
可能会遇到报错:
Failed to init API, possibly an invalid tessdata path: ./
解决方法:
添加“TESSDATA_PREFIX”到系统环境变量中,值为testdata的父路径(一般就是 Tesseract-OCR 的安装路径)亦可解决。在环境变量中添加
变量:TESSDATA_PREFIX
值:D:\Program Files\Tesseract-OCR\tessdata
注意上面要对应自己真实tessdata文件夹