Ubuntu18.04下Tesseract5自定义图像模型训练报错求助
解决Tesseract 5训练自定义OCR时Tiff相关函数缺失错误
问题原因
这类报错(pixReadMemTiff、findTiffCompression等函数未找到)的核心原因是Leptonica库未启用Tiff格式支持,或安装的Leptonica版本与Tesseract 5不兼容。Tesseract依赖Leptonica处理图像文件,若Leptonica编译时未包含Tiff支持模块,就会出现此类错误。
解决步骤
1. 卸载现有不兼容组件
先移除系统中已安装的Tesseract和Leptonica,避免版本冲突:
sudo apt remove --purge tesseract-ocr libtesseract-dev libleptonica-dev sudo apt autoremove sudo apt clean
2. 安装编译依赖
安装编译所需的基础工具及图像格式支持库,确保包含Tiff依赖:
sudo apt install build-essential automake autoconf libtool pkg-config libpng-dev libjpeg-dev libtiff5-dev zlib1g-dev libwebp-dev libopenjp2-7-dev
3. 编译安装带Tiff支持的Leptonica
从源码编译Leptonica,强制启用Tiff支持:
cd ~ git clone https://github.com/DanBloomberg/leptonica.git cd leptonica ./autogen.sh ./configure --with-libtiff make -j$(nproc) sudo make install sudo ldconfig
4. 重新编译安装Tesseract 5
编译Tesseract,确保链接到刚安装的Leptonica:
cd ~ git clone https://github.com/tesseract-ocr/tesseract.git cd tesseract ./autogen.sh ./configure make -j$(nproc) sudo make install sudo ldconfig
5. 验证安装有效性
检查Tesseract和Leptonica的版本,确认Tiff支持已启用:
tesseract --version leptonica-config --version leptonica-config --features
输出中需包含libtiff相关标识,说明Tiff支持已成功启用。
6. 重新执行训练命令
完成上述配置后,再次运行报错的训练命令即可正常处理Tiff图像:
tesseract "data/IND-ground-truth/19.tif" data/IND-ground-truth/19 --psm 6 lstm.train
内容的提问来源于stack exchange,提问作者Nikhil Sharma
相关产品推荐
相关产品推荐

