Ubuntu编译/安装/训练/运行tesseract-ocr

环境:Ubuntu14.04 + tesseract-ocr4.0.0beta.1 + leptonica-1.75.2

1,安装所需要库

sudo apt-get install libpng12-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install libtiff4-dev

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install automake

2,下载Leptonica并安装

      leptonica1.75下载地址

./configure
sudo make -j4
sudo make install

3,下载tesseract-ocr并安装

     tesseract-ocr4.0下载地址

./autogen.sh
./configure
sudo make -j4
sudo make install
sudo ldconfig

4,安装语言文件

       chi_sim中文语言文件下载地址

       将文件解压放在tessdata文件目录下,默认位置在/usr/local/share/tessdata/

5,运行

     这时tesseract-ocr就已经可以运行了

tesseract test.jpg result -l chi_sim

    注意:确保tessdata文件目录有用户操作权限,识别语言文件需要与tesseract版本一致


6,编译训练工具

    先安装需要的包

sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev

    进入源码traning子目录

cd traning/
sudo make install

7,训练前准备

     以训练中文为例,安装sim_sun宋体字体,安装在/usr/share/fonts/winFonts

8,开始训练

     a.新建training_text.txt,写入要识别的中文字

     b.新建text2image.sh

#!/bin/bash
text2image -text=training_text.txt -outputbase=sim.sun.exp0 -font=simsun -fonts_dir=/usr/share/fonts/winFonts

     c.新建traning.sh

#!/bin/bash
tesseract sim.sun.exp0.tif sim.sun.exp0 box.train.stderr
unicharset_extractor sim.sun.exp0.box

     d.新建make.sh

#!/bin/bash
shapeclustering -F font_properties -U unicharset sim.sun.exp0.tr
mftraining -F font_properties -U unicharset -O sim.unicharset sim.sun.exp0.tr
cntraining sim.sun.exp0.tr

     e.新建combine.sh

#!/bin/bash
mv shapetable sim.sun.shapetable
mv normproto sim.sun.normproto
mv inttemp sim.sun.inttemp
mv pffmtable sim.sun.pffmtable
combine_tessdata sim. #可以多字体识别,只需要将之前的sun替换成其它字体名,最后执行合并命令。

     f.新建cmd.sh

#!/bin/bash
./text2image.sh
./traning.sh
./make.sh
./combine.sh
     运行 cmd.sh一键生成 sim.traineddata,然后拷贝到 tessdata目录下,重命名为 sim_sun.traineddata


9,优化运行,使用刚训练的数据识别文字

#!/bin/bash
convert -compress none -depth 8 -alpha off test.jpg  test.tif
tesseract test.tif out -l sim_sun -psm 7

10、提高训练文件的识别率

        尽量将文字单独成行,最后再加入文字段落,标点符号和文字需要打混,生僻字出现5+,常用字出现10+,识别目标字20+

猜你喜欢

转载自blog.csdn.net/weixin_41645983/article/details/79714063