Как мне установить Tesseract OCR на сервер WAMP, который будет запускаться PHP?
Я пытаюсь установить программное обеспечение для распознавания текста Tesseract на свой сервер WAMP, чтобы затем автоматизировать процесс распознавания для некоторых изображений. Когда я ищу, как установить программное обеспечение на сервер WAMP, все, что я получаю, - это как установить сервер WAMP, чтобы маршрут не дал ответов. Я успешно установил Tesseract на свой компьютер и знаю, что файлы, которые я использую, работают правильно, моя проблема в том, что я не могу запустить Tesseract из PHP-скрипта. Я использовал установщик Windows, который предоставляется и устанавливается в мой каталог www в WAMP. Затем я попытался использовать PHP exec()
для выполнения некоторого распознавания текста и не получил результата. Это мой простой скрипт:
<?php
$path = getenv('PATH');
putenv("PATH=$path:/usr/local/bin");
$src = 'a.jpg';
$srcImg = imagecreatefromjpeg($src);
$img = imagecreatetruecolor($newClanWidth, $newHeight);
imagecopyresampled($img, $srcImg, 0, 0, $positions["aPlayer"], $positions[0], $newClanWidth, $newHeight, $clanWidth, $height);
imagejpeg($img, 'temp.jpg', 100);
echo '<pre>';
exec('tesseract temp.jpg out');
//echo file_get_contents('out.txt');
echo '</pre>';
imagedestroy($img);
?>
Изображение сохраняется правильно. Я могу изменить позиции в imagecopyresampled()
, и изображение соответственно изменится. Я подозреваю, что моя проблема связана с установкой, так как везде, куда я смотрю, все говорят использовать exec()
точно так же, как я бы использовал из командной строки. Я также попытался указать команду, такую как Tesseract-OCR/tesseract.exe temp.jpg out
. Папка Tesseract-OCR находится в том же каталоге, что и мой PHP-скрипт. Я признаю, что новичок в этом, поэтому, пожалуйста, потерпите, если я упустил что-то простое. Заранее спасибо.
1 answers
Что вы подразумеваете под "успешно установленным Тессерактом"?
как вы это проверили?
можете ли вы запустить tesseract.exe -v
и правильно настроить командную строку (или как бы вы ни называли CMD в Windows в эти дни)?
Если это работает, то убедитесь, что вы получите те же результаты, выполнив это с помощью php:
Убедитесь, что у вас включены ошибки: error_reporting(-1)
и проверьте, не появляются ли какие-либо ошибки.
чем пытаться, если вы действительно можете выполнить tesseract через php с помощью:
$return = shell_exec('tesseract.exe -v'); // in your example you miss .exe it would be without extension on linux
var_dump($return);
(shell_exec возвращает все выходные данные, сравните с exec, который возвращает только последнюю строку)
Если это сработает, попробуйте установить абсолютный путь при извлечении:
imagejpeg($img, 'c:/temp.jpg', 100);
$return = exec('tesseract.exe temp.jpg c:/out');
var_dump($report); // in case it gives you some errors
$content = file_get_contents('c:/out.txt');
if ($content === false) die('something is still wrong');
// otherwise process $content
Если ничего не помогает, поделитесь своими результатами/ошибками.
Последний совет: попробуйте установить linux