скрипт Python, выполненный из php, не будет читать сохраненную модель - PullRequest
0 голосов
/ 08 июня 2018

Вот что я пытаюсь сделать: я отправляю запрос Ajax с изображением в качестве данных в php-скрипт, который его загружает, и выполняю скрипт python с именем изображения, который скрипт python загружает модель определения пола ипредсказать пол человека на изображении.

Проблема в том, что модель не загружается, я пробовал ее с помощью скрипта php и python в одном каталоге, и она работала нормально, но я пытаюсь использоватьэто в laravel, так что я больше не могу этого делать.

когда я пытаюсь запустить скрипт python вручную следующим образом:

python path/to/script.py 

Выдает эту ошибку: OpenCV(3.4.1) Error: Unspecified error (File can't be opened for reading!)

но когда я делаю это, это работает: -

cd path/to/script.py ; python script.py

Вот мой php: -

    $file = $this->upload_Image($request->get('image'));
    $path =public_path().'/app/Http/Controllers';
    $command='cd '.$path.';';
    $path= 'python '.$path.'/facifier.py '.storage_path('app').$file;

    $command .= $path;
    return exec($command);

    Storage::disk('local')->delete($file);
    return json_encode($orderedData);

Команда заканчивается так: cd absolute/path/to/script.py ; python script.py absolute/path/to/image.jpg когда я использую ее накомандная строка работает нормально.Вот где я получаю сообщение об ошибке на своем скрипте Python: -

fisher_face_gender = cv2.face.FisherFaceRecognizer_create()
fisher_face_gender.read('models/gender_classifier_model_kdef.xml')

Кто-нибудь знает, что вызвало это, я кстати на Windows.

1 Ответ

0 голосов
/ 09 июня 2018

благодаря комментарию bruno desthuilliers у меня все получилось.Проблема была в пути к модели, которую я использовал, по отношению к скрипту python, потому что я думал, что скрипт выполняется по собственному пути, а не по пути командной строки.

Я просто изменил путь к модели наабсолютный путь и все работало нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...