Linux OCR图文识别配置

通过Tesseract-OCR可以简单的图文识别,要想解析简单的验证友不再是什么难的技术问题,以下分享在Centos上安装OCR的步骤及PHP调用的OCR的函数。

一、Linux OCR 环境搭建脚本

yum install -y libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel giflib-devel
wget http://www.leptonica.com/source/leptonica-1.71.tar.gz
tar zxvf leptonica-1.71.tar.gz
cd leptonica-1.71
./configure  --with-zlib --with-libpng --with-jpeg --with-giflib --with-libtiff
make && make install
cd ..
wget http://static.cnsrn.com/tesseract-ocr-3.02.02.tar.gz
# 以下是下载语言包
wget http://static.cnsrn.com/tesseract-ocr-3.02.eng.tar.gz
wget http://static.cnsrn.com/tesseract-ocr-3.02.chi_sim.tar.gz
tar zxvf tesseract-ocr-3.02.02.tar.gz
tar zxvf tesseract-ocr-3.02.eng.tar.gz
tar zxvf tesseract-ocr-3.02.chi_sim.tar.gz
cd tesseract-ocr
./configure 
make && make install
rm -rf /usr/local/share/tessdata/;
cp -rf ./tessdata /usr/local/share/

二、命令行测试

tesseract phototest.tif output

三、PHP外部调用函数

/**
 * 异步执行CMD命令
 * 
 * @param type $cmd Linux命令
 * @return type
 */
function call_cmd($cmd) {
   $pipes = '';
   $_=("^"^".").("^"^ ",").("@" ^ "/").("#"^"@")
      .("?"^"`").("@"^"/").("^"^".").(">"^"[").("@"^".");
   $__= ("^"^".").("^"^",").("@"^"/").("#"^"@")
          .("?"^"`"). ("#"^"@").(","^"@").("@"^"/").(","^"_").(">" ^ "[");
       return $__($_("{$cmd} &",array(), $pipes));
}
/**
 * 解析图文
 * 
 * @param type $imagefile 图片路径
 * @param type $output 识别内容输出路径
 * @param type $lang 识别语言 chi_sim | eng
 * @return type
 */
function read_img($imagefile, $output, $lang = 'eng') {
     $cmd = "tesseract {$imagefile} {$output} -l {$lang}”;
     echo "cli: $cmd \n";
     return call_cmd($cmd);
}
//# 测试代码
$imagefile = 'test.tif';
$output = 'test';
read_img($imagefile,$output,'eng’);
//# 测试结果输出在 test.txt

原文链接:https://www.ctolog.com/linux/linux-ocr.html

标签:Tesseract-OCR, 图片识图技术