PHP не может выполнить Pytesseract в Python

Я использую Postman для отправки изображения base64 в файл PHP на моем веб-сервере Apache. Изображение всегда отправляется успешно. PHP-скрипт выполняет Python-скрипт для извлечения текста из изображения (используя Pytesseract/Tesseract-OCR) и отправляет вывод обратно в PHP. (Использование Windows 10, если это имеет значение)

Первые два оператора печати всегда возвращаются в Postman, но третье и четвертое операторы печати не возвращаются. Последний оператор print возвращается только тогда, когда строка pytesseract закомментирована.

Когда я сам запускаю скрипт python, все операторы печати возвращаются успешно.

Python (test.py)

from PIL import Image 
import pytesseract
import sys

print "Print 1"
print "Print 2"

filename = "test.jpg"
#filename = sys.argv[1]
text = pytesseract.image_to_string(Image.open("Images/"+filename))
print text

#Final print statement appears on POSTMAN only if the tesseract code does not run

a = "Print"
b = 1+2
print a, b

PHP (connection.php)

<?php
 header('Content-type : bitmap; charset=utf-8');

 if(isset($_POST["encoded_string"])){
    $encoded_string = $_POST["encoded_string"];
    $device_name = $_POST["device_name"];

    /*$image_name = $device_name.'.jpg';*/
    $image_name = "test.jpg";
    $decoded_string = base64_decode($encoded_string);

    $path = 'images/'.$image_name;
    $file = fopen($path, 'wb');
    $is_written = fwrite($file, $decoded_string);
    fclose($file);

    $extracted = shell_exec("python test.py $image_name");
    echo $extracted;

 }

 else {
   echo "Failed :(";
 }

?>

0 ответов

Другие вопросы по тегам