Mac Tesseract 4.1.1 样本训练超详细教程

Mac Tesseract 4.1.1 样本训练超详细教程

乔布斯的橘子 2021-03-17 01:40:17 483 收藏 2
文章标签: opencv python 图像识别 ocr
版权
安装
Mac直接安装tesseract的话无法附带安装training tools

如果已经安装了没有training tools的tesseract,请先卸载

brew uninstall tesseract

先安装一些依赖的包

# Packages which are always needed.
brew install automake autoconf libtool
brew install pkgconfig
brew install icu4c
brew install leptonica
# Packages required for training tools.
brew install pango
# Optional packages for extra features.
brew install libarchive
# Optional package for builds using g++.
brew install gcc

从下列链接下载tesseract-4.1.1.tar.gz并解压

https://github.com/tesseract-ocr/tesseract/releases

编译并安装

cd tesseract-4.1.1
./autogen.sh
mkdir build
cd build
# Optionally add CXX=g++-8 to the configure command if you really want to use a different compiler.
../configure PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libarchive/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig
make -j
# Optionally install Tesseract.
sudo make install
# Optionally build and install training tools.
make training
sudo make training-install

下载完不会附带着一起下载数据集,通过下列链接自行下载需要的语言

https://github.com/tesseract-ocr/tessdata

训练
首先,收集数据样本(若干张需要训练的图片)

图片格式需要转换为tif

下载并打开jTessBoxEditor (注意,该软件需要java8环境,请自行配置):

https://pilotfiber.dl.sourceforge.net/project/vietocr/jTessBoxEditor/jTessBoxEditor-2.3.1.zip

在jTessBoxEditor中Tools->Merge TIFF将所有tif文件合并

 

将合并后的tif文件重命名为eng.num.exp0.tif

生成box文件,用来纠正识别错误

tesseract eng.num.exp0.tif eng.num.exp0 -l eng batch.nochop makebox

此时,应该有eng.num.exp0.tif和eng.num.exp0.box两个文件

使用jTessBoxEditor打开eng.num.exp0.tif

(Box Editor->Open->eng.num.exp0.tif)

纠正识别错误

 

新建一个文件,取名font_properties,并填入下列内容

font 0 0 0 0 0

执行如下命令训练数据

tesseract eng.num.exp0.tif eng.num.exp0 nobatch box.train
unicharset_extractor eng.num.exp0.box
shapeclustering -F font_properties -U unicharset eng.num.exp0.tr
mftraining -F font_properties -U unicharset -O unicharset eng.num.exp0.tr
cntraining eng.num.exp0.tr
mv inttemp num.inttemp
mv normproto num.normproto
mv pffmtable num.pffmtable
mv shapetable num.shapetable
mv unicharset num.unicharset
combine_tessdata num.

执行后,会有如下文件

 

将num.traineddata移到相应路径便可使用

我的路径是/usr/local/share/tessdata/

posted @ 2021-11-11 16:50  狂猫  阅读(550)  评论(0编辑  收藏  举报