侧边栏壁纸
博主头像
皮皮Blog博主等级

分享互联网上的宝藏网站

  • 累计撰写 17 篇文章
  • 累计创建 58 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

win10下Tesseract-OCR 安装及使用

皮皮Blog
2023-06-06 / 0 评论 / 0 点赞 / 1,703 阅读 / 2,719 字 / 正在检测是否收录...

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

  1. 按照界面一步步安装即可。 最好不要安装到中文目录下 D:\Program Files\Tesseract-OCR
  2. 把下载的chi_sim.traineddata中文识别包copy到 D:\Program Files\Tesseract-OCR\tessdata下
  3. 配置环境变量Path:D:\Program Files\Tesseract-OCR
  4. 配置语言包的环境变量TESSDATA_PREFIX: D:\Program Files\Tesseract-OCR\tessdata
    tess4j.jar启动会去该目录下加载语言包
  5. 验证是否安装成功: 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

0

评论区