Как мне установить 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-скрипт. Я признаю, что новичок в этом, поэтому, пожалуйста, потерпите, если я упустил что-то простое. Заранее спасибо.

Author: Bpainter, 2013-06-05

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

 2
Author: gondo, 2013-10-08 06:08:49