基于Tesseract-OCR引擎的图片识别及使用

发布时间 2023-10-09 16:50:42作者: 飞翔风筝

图片识别

安装简单的图片识别服务,基于Tesseract-OCR引擎

安装环境

Linux ad3cf730678d 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

CentOS Linux release 7.9.2009 (Core)

安装步骤

最简单方法就是yum安装

安装

# 更新源
yum update

# 安装依赖
yum install gcc make
yum install autoconf automake libtool
yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel

# 安装ocr
yum install tesseract

安装中文支持

yum install tesseract-langpack-chi_sim

查看版本

[root@test]# tesseract -v

版本3的输出

tesseract 3.04.00
 leptonica-1.72
  libgif 4.1.6(?) : libjpeg 6b (libjpeg-turbo 1.2.90) : libpng 1.5.13 : libtiff 4.0.3 : zlib 1.2.7 : libwebp 0.3.0

版本4和版本3有些区别,默认安装版本3;版本4安装如下

# 安装依赖,见上面步骤
# 增加源
yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/
# 安装ocr,如果有版本校验可以加上 --nogpgcheck 或者自己添加公钥
yum install tesseract -y  --nogpgcheck
# 安装支持简体中文
yum install tesseract-langpack-chi-sim*  --nogpgcheck

4版本的输出

[root@test]# tesseract -v
tesseract 4.1.3
 leptonica-1.76.0
  libjpeg 6b (libjpeg-turbo 1.2.90) : libpng 1.5.13 : libtiff 4.0.3 : zlib 1.2.7 : libwebp 0.3.0

识别效果

测试范围:英文、中文

使用php测试

  • 新建目录 ocr ;
  • composer init 初始化目录
  • composer 安装 thiagoalessio/tesseract_ocr
  • 新建test.php文件,同目录放几张测试图片,如下
|-- composer.json
|-- composer.lock
|-- src
|-- test.php
|-- test_00.png
`-- vendor

  • test.php 测试代码如下
<?php


require 'vendor/autoload.php';

use thiagoalessio\TesseractOCR\TesseractOCR;


try {
    $msg = (new TesseractOCR('test_00.png'))
        ->lang('eng', 'chi_sim')  //语言根据不同版本变动
        ->run();
    if ($msg) {
        echo $msg;
    } else {
        echo '未识别';
    }
} catch (\Exception $e) {
    echo '异常:' . $e->getMessage();
}

测试总结:

  • 纯色背景,打印字体识别较准确,手写效果较差
  • 版本4效果比版本3好
  • 版本3安装过程较顺利