#php #tesseract
#php #тессеракт
Вопрос:
Я пытаюсь и не могу использовать tesseract php. Я получаю эту ошибку:
Fatal error: Uncaught thiagoalessioTesseractOCRTesseractNotFoundException: Error! The command "tesseract" was not found. Make sure you have Tesseract OCR installed on your system: https://github.com/tesseract-ocr/tesseract
The current $PATH is C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:WindowsSystem32OpenSSH;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program FilesNVIDIA CorporationNVIDIA NvDLISR;C:xamppphp;C:ProgramDataComposerSetupbin;C:UsersPeppeAppDataLocalMicrosoftWindowsApps;C:UsersPeppeAppDataRoamingComposervendorbin in C:UsersPeppevendorthiagoalessiotesseract_ocrsrcFriendlyErrors.php:48 Stack trace: #0
C:UsersPeppevendorthiagoalessiotesseract_ocrsrcTesseractOCR.php(26): thiagoalessioTesseractOCRFriendlyErrors::checkTesseractPresence('tesseract') #1 C:xampphtdocsindex.php(7): thiagoalessioTesseractOCRTesseractOCR->run() #2 {main} thrown in C:UsersPeppevendorthiagoalessiotesseract_ocrsrcFriendlyErrors.php on line 48
Я использую Windows 10 с установленным xampp в C:xampp . php версии 7.4
Я установил tesseract.exe от https://github.com/UB-Mannheim/tesseract/wiki как x32, так и x64
Я использовал composer для установки https://github.com/thiagoalessio/tesseract-ocr-for-php и это не дало никакой ошибки.
<?php
require_once 'C:UsersPeppevendorautoload.php';
use thiagoalessioTesseractOCRTesseractOCR;
$ocr = new TesseractOCR("caption.jpg");
$content = $ocr->run();
echo $content;
?>
наконец, caption.jpg находится в папке htdocs, основной папке и той же папке, что и index.php где появляется вышеупомянутый код.
какие-либо решения?
Ответ №1:
Я нашел ответ: переменная $PATH берется из Windows. Чтобы настроить ее правильно, найдите «системные переменные среды», нажмите «переменные среды», отредактируйте ПУТЬ и добавьте папку программного обеспечения tesseract, например C:Program ФайлыТессеракт-Распознавание текста
Ответ №2:
В моем случае я должен добавить новую переменную tesseract
с полным путем C:Program FilesTesseract-OCRtesseract.exe
, как показано на скриншоте ниже
Ответ №3:
Чтобы установить TESSERACT OCR и использовать его в PHP
Вы должны выполнить следующие шаги: (в моем объяснении я предполагаю, что вы находитесь в Windows) url src = https://tesseract-ocr.github.io/tessdoc/Installation.html
1- Загрузите программное обеспечение TESSERACT с URL: https://github.com/UB-Mannheim/tesseract/wiki
2- Из вашего композитора вы должны установить: url: https://packagist.org/packages/thiagoalessio/tesseract_ocr композитору требуется thiagoalessio/tesseract_ocr
3- Затем важно выполнить действия в следующем порядке: Ваше программное обеспечение TESSERACT (шаг 1) устанавливается в каталог, который обязательно будет (это зависит от вас, чтобы проверить в вашей системе) папка = C:Program ФайлыТессеракт-Распознавание текста
Абсолютно необходимо добавить эту папку в переменные среды Windows на уровне ПУТИ (user и system)
4- Затем вы перезапускаете свою веб-среду (WAMP, LARAGON …)
5- Проверка работоспособности TESSERACT. Перейдите в свой CMD и напишите: tesseract —version
Reply somethink like that :
tesseract v5.3.0.20221222
leptonica-1.78.0
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Found libarchive 3.5.0 zlib/1.2.11 liblzma/5.2.3 bz2lib/1.0.6 liblz4/1.7.5 libzstd/1.4.5
Found libcurl/7.77.0-DEV Schannel zlib/1.2.11 zstd/1.4.5 libidn2/2.0.4 nghttp2/1.31.0
6- Проверка работы из PHP-скрипта
использует изображение на белом фоне с текстом
<?php
$app_class = 'thiagoalessioTesseractOCRTesseractOCR';
$file = 'C:/Users/admin/Desktop/im2.jpg';
$class = new ReflectionClass($app_class);
$infoImg = $class->newInstanceArgs();
$infoImg->lang('eng','jpn','spa','fr');
$infoImg->image($file);
$infoImg->withoutTempFiles();
$resultat = $infoImg->run();
var_dump($resultat);
?>