文字识别(OCR)是处理图像或PDF中文字内容的重要技术,Tesseract OCR是一款开源高效的OCR引擎,结合Python库可快速实现文字提取功能。本文将详细介绍在Ubuntu系统中配置支持中文的Python文字识别环境的步骤,适用于处理图片、PDF等文件中的文字内容。
一、安装Tesseract OCR引擎
Tesseract是核心OCR引擎,需先安装其基础程序。
打开终端,更新系统包列表:
1
sudo apt update
安装Tesseract OCR引擎:
1
sudo apt install tesseract-ocr
这一步将安装Tesseract的核心程序,支持基础的文字识别功能(默认包含英文语言包)。
二、安装并配置中文语言包
默认安装的Tesseract不包含中文语言包,需单独安装并修正文件名(避免因命名格式导致识别失败)。
安装中文简体语言包:
1
sudo apt install tesseract-ocr-chi-sim
(可选)若需识别繁体中文,可额外安装:
1
sudo apt install tesseract-ocr-chi-tra
修正语言包文件名(关键步骤):
Tesseract对语言包的文件名格式有严格规范,但实际使用中,其对文件名的识别存在一定兼容性差异:安装后中文语言包默认文件名为下划线格式(chi_sim.traineddata
对应简体,chi_tra.traineddata
对应繁体),但部分场景下程序可能要求使用连字符格式(chi-sim.traineddata
、chi-tra.traineddata
)。为避免因文件名格式导致识别失败,建议复制一份以连字符命名的文件,从而兼容不同场景下的调用需求。:
1 | # 修正简体中文包文件名 |
三、验证Tesseract安装与语言包配置
安装完成后,需确认引擎和语言包是否正常生效。
检查Tesseract版本(验证引擎安装):
1
tesseract --version
若输出类似
tesseract 4.0.0
的版本信息,说明引擎安装成功。检查已安装的语言包(验证中文支持):
1
tesseract --list-langs
若输出包含
chi-sim
(简体中文)和chi-tra
(繁体中文),说明中文语言包配置成功。
四、配置TESSDATA_PREFIX环境变量
Tesseract需要通过TESSDATA_PREFIX
环境变量定位语言包目录,需手动配置以确保引擎能正确找到语言包。
编辑环境变量配置文件(以bash为例):
1
echo 'export TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00/' >> ~/.bashrc
说明:
TESSDATA_PREFIX
需指向tessdata
目录。使环境变量生效:
1
source ~/.bashrc
(若使用zsh,需将命令中的~/.bashrc
替换为~/.zshrc
)
五、安装Python相关依赖库
通过Python调用Tesseract需安装对应的接口库,同时为处理PDF文件需补充相关工具库。
安装核心Python库:
1
2pip install pytesseract PyPDF2 pdf2image pdfplumber opencv-python pillow
各库作用说明:
pytesseract
:Python调用Tesseract OCR的接口库;PyPDF2
/pdfplumber
:用于读取PDF文件(支持文本型PDF直接提取);pdf2image
:将图片型PDF转换为图片格式(以便Tesseract识别);opencv-python
:主要用于计算机视觉任务,可实现图像处理、视频分析、目标检测、边缘识别等复杂功能,是机器视觉领域的常用库;pillow
:是轻量易用的 Python 图像库,核心用于基础图像操作,包括图像的读写、裁剪、尺寸调整、色彩调整及简单滤镜效果实现。
(可选)若
pdf2image
运行时提示缺少依赖,需安装图片处理工具:1
sudo apt install poppler-utils
六、注意事项
环境变量生效范围:上述配置仅对当前用户生效,若需全局生效,可将环境变量写入
/etc/profile
(需管理员权限)。虚拟环境问题:若在Python虚拟环境中使用,需在虚拟环境激活后重新执行
source ~/.bashrc
(或手动设置TESSDATA_PREFIX
)。权限问题:确保运行程序的用户对
/usr/share/tesseract-ocr/4.00/tessdata/
目录及语言包文件有读取权限(默认权限已满足,无需额外配置)。
总结
通过以上步骤,即可在Ubuntu系统中完成支持中文的Python文字识别环境配置。基于Tesseract OCR和Python库,可实现图片、PDF等文件的文字提取功能,为后续的文本分析、内容处理等场景奠定基础。
加关注
关注公众号“生信之巅”。
![]() |
![]() |