tesseract-ocr字符识别,安装/测试/训练 问题/解决方案

2018.5.4更新 training tesseract

由于Ubuntu下训练tesseract 教程不足,还在继续摸索。现在转用Windows下的tesseract 3.05版本(tesseract 4.0在我的win10下总是出错 还没办法解决)

  • windows tesseract版本下载
  • exe安装。
  • 安装完成后打开CMD输入tesseract回车出现tesseract介绍/help等,即安装成功。
测试:新建测试文件夹/.../test 用画图板准备图片文件:test.png


命令行进入该文件目录下,输入测试命令:

tesseract test.png output_test -l eng
【语法】tesseract imagename outputbase[-l lang] [-psm pagesegmode] [configfile...]
接下来的教程见→  教程

所遇到的问题及解决方案:

1. Failed to load font_properties from font_properties

【解决】: 将命令行

mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr 

更改为:

mftraining -F font_properties.txt -U unicharset -O num.unicharset num.font.exp0.tr 
2.Illegal short name for a feature
换下一张图片进行训练,(跳过该问题训练集)

3.ICU ERROR...


【解决】打开VS调试,选择调试→选项→调试→常规→启动源服务器支持
                                                                                →符号→Microsoft符号服务器
有图教程

4.【画了6张tif图,但是无法用jTessBoxEdit合并,可能训练样本有问题,重新尝试解决】

5. empty page
6. jTessBoxEditor中文乱码 在setting中将字体改为宋体 


2018.3.23
第一例EAST旭哥在做,开始调研tesseract-ocr

step1 下载tesseract-ocr demo.

(使用Github: 打开项目后,先看看wiki,根据目录进行操作)
HOME页Download tesseract-ocr Engine.(关于PPA: Personal Package Archives)
命令行 运行demo
推荐一篇博客对整体环境的编译运行:教程1

这篇文章是Ubuntu16.4 我实际使用的是Ubuntu14.4(uname -a 查看版本信息)
在Ubuntu14.4下安装时会报一个错:W: GPG 错误:http://ppa.launchpad.net lucid Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY FAF69C646FF368B7的问题解决方案:在终端中运行:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FAF69C646FF368B7
具体安装代码如下:
sudo add-apt-repository ppa:alex-p/tesseract-ocrsudo apt-get updatesudo apt-get install tesseract-ocr
 
 
安装完成后,先只能运行识别英文字符.其他字符需安装依赖库.
////2018.3.23 完成demo测试 识别效果真的非常棒///
2018.3.25 安装编译环境
(参考GitHub与上面推荐的博客均可)
可能出现的问题:
 
 
/usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link 
/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link


解决方法:
  • 针对
/usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link
 
 
解决:
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.orgsudo 
ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1sudo 
ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1
 
 
  • 针对
/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link
 
 
解决:
cd /usr/local/cuda/lib64sudo ln -sf libcudnn.so.5.10 libcudnn.so.5sudo ln -sf libcudnn.so.5 libcudnn.so
 
 
运行
sudo ldconfig
 
 
检查是否报错
一个坑
安装 leptonica 注意,一定要从官网下载XXX.tar.gz安装包安装。(有问题先看看GitHub中的issues)
我这边安装了Latest version,不可以从github直接git clone是因为该源码中无configure文件夹,在编译时很多错不好解决。3种方法,使用了第二种autoconfig。这里按照官网的步骤一步一步来,如果在make install报错,可能是Permission denied报错,使用 sudo make install。
在一系列操作完成后,到配置字体库,我这边出现的问题,路径配置:
export TESSDATA_PREFIX=/media/xxx/tessdata
 
 
可以直接使用
wget https://github.com/tesseract-ocr/tessdata/raw/master/eng.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata
 
 
下载英文/中文等需要的语言。
可能会遇到的错误:
Error opening data file /usr/local/share/tessdata/eng.traineddataPlease make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.Failed loading language engTesseract couldn't load any languages!Could not initialize tesseract.
 
 

请参考stackoverflow

以上,可以完成测试。注意:tesseract-ocr 识别的是 印刷体字。
有一篇博客,写了ocr.sh文件,貌似是可以把路径直接改正?我还没尝试,先贴在这里吧。

/// 开始准备 training 环节。
安装jTessBoxEditor
到官网下载,tesseract-ocr 4.0,下载了最新版本的jTessBoxEditor
  • 解压 tar -zxvf jTessBoxEditor
  • 转到解压后的目录: cd /jTessBoxEditor
  • 启动 jTessBoxEditor,命令行输入 java -Xms128m -Xmx1024m -jar jTessBoxEditor.jar
然后 配置Java环境。推一篇参考:最后选择安装了jdk8

报错:
mirror什么的,换成中科院源

wget https://github.com/tesseract-ocr/tessdata/raw/master/eng.traineddatawget https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata





猜你喜欢

转载自blog.csdn.net/github_38657489/article/details/79720823
今日推荐