tesseract-ocr 的centos的安装与使用
2018-11-21 本文已影响0人
萌木盖
shell脚本
创建install_tesseract.sh,注意:windows和linux的换行不一致,就是\n\r和\n的问题,所以建议在linux里编写。
echo -e "\033[31m###### start install require tools........###\033[0m"
yum install -y automake autoconf libtool gcc gcc-c++ &> /dev/null
yum install -y libpng-devel libjpeg-devel libtiff-devel unzip &> /dev/null
echo -e "\033[32m####tools install complete!\033[0m"
echo -e "\033[31m####start download leptonica-1.72,waiting........\033[0m"
wget http://www.leptonica.org/source/leptonica-1.72.tar.gz
echo -e "\033[32m#############download completed!########\033[0m"
tar xvzf leptonica-1.72.tar.gz &> /dev/null
cd leptonica-1.72/
echo -e "\033[31m \033[05m######start install leptonica..........\033[0m"
./configure &> /dev/null
make && make install &> /dev/null
echo -e "\033[32m###leptonica installed completed!!\033[0m"
cd ../
echo -e "\033[31m###start download tesseract-ocr,wait........\033[0m"
wget -O 3.04.zip https://github.com/tesseract-ocr/tesseract/archive/3.04.zip
echo -e "\033[32m###########tesseract-ocr download completed!!\033[0m"
unzip 3.04.zip &> /dev/null
cd tesseract-3.04/
echo -e "\033[31m \033[05m####start install tesseract-ocr,waiting.....\033[0m"
./configure &> /dev/null
make && make install &> /dev/null
sudo ldconfig
echo -e "\033[32m#############tesseract-ocr install completd!!!!!!!!\033[0m"
cd ../
代码中的参数
pytesseract.image_to_string(image,lang="chi_sim+eng",config="-psm 7 digits")
参数含义:
- image:将要识别图片对象
- lang:文字识别库的名字(代码内是中文简体+英文数字)
- config:配置,下面会有对-psm的解释,digits是对识别内容的限制文件,可以自己改写和指定特定文件
语言包:
语言包在
/usr/local/share/tessdata
内,把下载好的语言包放这里就好了
-psm(代码中为7):
- 0:定向脚本监测(OSD)
- 1: 使用OSD自动分页
- 2 :自动分页,但是不使用OSD或OCR(Optical Character Recognition,光学字符识别)
- 3 :全自动分页,但是没有使用OSD(默认)
- 4 :假设可变大小的一个文本列。
- 5 :假设垂直对齐文本的单个统一块。
- 6 :假设一个统一的文本块。
- 7 :将图像视为单个文本行。
- 8 :将图像视为单个词。
- 9 :将图像视为圆中的单个词。
- 10 :将图像视为单个字符。
digits 配置:
文件在
/usr/local/share/tessdata/configs/digits
将digits复制一份,改名为:shuzi,表示增加一份仅识别数字规则的配置
使用文字编辑工具,打开文件shuzi
在tessedit_char_whitelist 后面跟随要识别的字符
例如
tessedit_char_whitelist 0123456789
将刚才的代码改成
pytesseract.image_to_string(image,lang="eng",config="-psm 7 shuzi")
就可以只识别数字了
语言包在/usr/local/share/tessdata内,把下载好的语言包放这里就好了
这里已经安装完了 但是现在还没有数据集,未完待续。。。