了解Tesseract
Tesseract是谷歌提供的一个开源OCR(Optical Character Recognition, 光学字符识别)工具,可以从图片中提取字符。支持英语、中文(简体/繁体以及横式/竖式)、数学公式以及上百种语言。其对于英文和数字的识别准确率比较高,但是对中文字符的识别准确率相对较低。
安装Tesseract
系统要求:Centos(本文教程是基于Centos实现的,如果为其他系统请参考官方文档)
有两部分需要安装
(1)Tesseract引擎本身
(2)简体中文的培训数据
对于CentOS 8,以root用户身份运行以下命令:dnf config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_8/
rpm --import https://build.opensuse.org/projects/home:Alexander_Pozdnyakov/public_key
dnfinstall tesseract
dnf install tesseract-langpack-deu
对于CentOS 7,以root用户身份运行以下命令:#仓库里添加第三方源
yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/
#引入rpm包
sudo rpm --import https://build.opensuse.org/projects/home:Alexander_Pozdnyakov/public_key
#更新仓库
yum update
#安装
tesseract
yum install tesseract
#安装简体中文语言培训数据(chi_sim为简体中文,
eng 为英文,其他语言请看这)
yum install tesseract-langpack--chi-sim
安装完成后,运行命令,出现版本号说明安装成功tesseract -v
至此,
Tesseract安装完成
PHP内调用Tesseract
通过composer下载tesseract-ocr-for-php包即可composer require thiagoalessio/tesseract_ocr
基础用法://引入
composer 的自动加载文件
require 'vendor/autoload.php';
//引入包
use thiagoalessio\TesseractOCR\TesseractOCR;
/**
构造函数的参数为目标图片路径
lang()内的参数为要使用的语言包
*/
echo (new TesseractOCR('1.png'))->lang('chi_sim')->run();
目标图片👇
运行后的结果👇
可见识别率还是很高的,如果出现部分文字无法识别,可以在此下载最新的简体中文培训语言包。