Tesseract-OCR介绍
官网:https://github.com/UB-Mannheim/tesseract/wiki
下载地址:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.1.20230401.exe
下载中文ocr识别包:https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
Tess4j介绍
官网:https://tess4j.sourceforge.net/
jar包下载 5.4.0版本:https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j/5.4.0
训练字体工具:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/jTessBoxEditorFX-2.4.1.zip/download
安装Tesseract-OCR
- 按照界面一步步安装即可。 最好不要安装到中文目录下 D:\Program Files\Tesseract-OCR
- 把下载的chi_sim.traineddata中文识别包copy到 D:\Program Files\Tesseract-OCR\tessdata下
- 配置环境变量Path:D:\Program Files\Tesseract-OCR
- 配置语言包的环境变量TESSDATA_PREFIX: D:\Program Files\Tesseract-OCR\tessdata
tess4j.jar启动会去该目录下加载语言包 - 验证是否安装成功: tesseract.exe -v
OCR识别命令
**** 一定要在图片目录下执行,否则可能看不到输入的结果 ****
tesseract 图片名称 输除识别结果的文件 [options...] [configfile...]
默认是英文字符识别: tesseract aa.png result
中文字符识别: tesseract aa.png result -l chi_sim
这个时候发现很多中文字符无法识别,所以需要自己训练字符集。
训练字体库
https://blog.csdn.net/tiantian1980/article/details/123896573
//tesseract -l chi_sim lyzd.normal.exp.tif lyzd.normal.exp makebox
tesseract lyzd.normal.exp.tif lyzd.normal.exp -l chi_sim lstmbox
tesseract lyzd.normal.exp.tif lyzd.normal.exp -l chi_sim --psm 6 lstm.train
//tessdata_test下载
combine_tessdata -e chi_sim.traineddata lyzd.lstm
lstmtraining --model_output="D:\lib\png\temp\output" --continue_from="D:\lib\png\temp\lyzd.lstm" --train_listfile="D:\lib\png\temp\lyzd.training_files.txt" --traineddata="D:\lib\png\temp\chi_sim.traineddata" --debug_interval -1 --max_iterations 800
lstmtraining --stop_training --continue_from="D:\lib\png\temp\output\output_checkpoint" --traineddata="D:\lib\png\temp\chi_sim.traineddata" --model_output="D:\lib\png\temp\output\lyzd.traineddata"
出现的问题及解决办法
● java.lang.UnsatisfiedLinkError:无法找到指定的模块
解决方案:
○ 安装vc++ 2015-2022
Microsoft Visual C++ 2015-2022 Redistributable 14.31.31103
x64 https://download.visualstudio.microsoft.com/download/pr/d22ecb93-6eab-4ce1-89f3-97a816c55f04/37ED59A66699C0E5A7EBEEF7352D7C1C2ED5EDE7212950A1B0A8EE289AF4A95B/VC_redist.x64.exe
x86 https://download.visualstudio.microsoft.com/download/pr/8e32d7eb-5130-4dc8-9c3e-5891f375e112/B7AE307237F869E09F7413691A2CD1944357B5CEE28049C0A0D3430B47BB3EDC/VC_redist.x86.exe
○ 指定vm options参数 -Djna.library.path="d:\lib" ;把lept4j-1.16.2.jar/win32-x86-64/liblept1820.dll、tess4j.5.4.0.jar/win32-x86-64/libtesseract520.dll copy到d:\lib目录下,重新运行代码成功。
● Error, D:\lib\png\temp\lyzd.lstm is an integer (fast) model, cannot continue training
https://github.com/tesseract-ocr/tessdata_best/blob/main/chi_sim.traineddata
● Compute CTC targets failed for
源指令:tesseract -l chi_sim lyzd.normal.exp.tif lyzd.normal.exp makebox
替换成:tesseract lyzd.normal.exp.tif lyzd.normal.exp -l chi_sim lstmbox
评论区