Для распознавания текста на картинках можно воспользоваться библиотекой tesseract ocr for php. В заметке опишу как ее установить и распознать текст с ее помощью.
Распознавание текста на картинках через PHP Tesseract OCR
Сама библиотека 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:
- сработало "на ура".
Тест 2:
- почти. Получил "cth {an THANKS":
Тест 3:
- не сработало. Ошибка "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"