Распознавание текста на картинках через PHP Tesseract OCR

13.01.2021

Для распознавания текста на картинках можно воспользоваться библиотекой tesseract ocr for php. В заметке опишу как ее установить и распознать текст с ее помощью.

Сама библиотека thiagoalessio / tesseract-ocr-for-php требует установленной tesseract-ocr / tesseract с этого и начнем:

Для Centos, как и во многих дистрибутивах linux, она уже присутствует в репозитории и установить ее можно просто:

 
yum -y install tesseract

Теперь можно установить и сам tesseract-ocr-for-php:

 
composer require thiagoalessio/tesseract_ocr

Если composer не установлен, то сделать это можно по инструкции.

Также стоит ознакомиться с заметкой "Скрипты пытаются записать в /tmp, но упираются в ограничения open_basedir"

Сам код для распознавания текста:

 
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

require_once ('vendor/autoload.php');

use thiagoalessio\TesseractOCR\TesseractOCR;
echo (new TesseractOCR('text.png'))->run();


Пара картинок для тестов

Тест 1:

pic1

- сработало "на ура".


Тест 2:

pic1

- почти. Получил "cth {an THANKS":


Тест 3:

pic1

- не сработало. Ошибка "Fatal error: Uncaught thiagoalessio\TesseractOCR\ImageNotFoundException: Error! The image "text99.png" was not found. The current __DIR__ is /home/public/test2.local/www/vendor/thiagoalessio/tesseract_ocr/src in /home/public/test2.local/www/vendor/thiagoalessio/tesseract_ocr/src/FriendlyErrors.php on line 24"


Категории: PHP, Linux, Centos
Яндекс.Метрика