美文网首页PHP开发
PHP的OCR实战:利用Tesseract实现从图片中读取中文

PHP的OCR实战:利用Tesseract实现从图片中读取中文

作者: 月入1800水群笑哈哈 | 来源:发表于2021-03-24 18:43 被阅读0次

了解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();

目标图片👇

运行后的结果👇

可见识别率还是很高的,如果出现部分文字无法识别,可以在此下载最新的简体中文培训语言包。

相关文章

网友评论

    本文标题:PHP的OCR实战:利用Tesseract实现从图片中读取中文

    本文链接:https://www.haomeiwen.com/subject/dhochltx.html