2017-04-21 3 views
0

Ich habe etwas OpenCV Python-Code, um Bilder zu erfassen und auf der Festplatte zu speichern. Dieser Code funktioniert einwandfrei, wenn ich ihn von cmd aus oder von PowerShell aus ausführe. Aber wenn ich es von PHP aus starte läuft es aber nicht richtig. Hier ist mein Python-Code:Ausführen von Python openCV-Code von PHP funktioniert nicht richtig

import cv2, sys, json 
import numpy as np 

faceDetect = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') 
cam = cv2.VideoCapture(0)  

Id = 1 
i = 1 

while (True): 
    ret, img = cam.read() 
    grayImg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
    faces = faceDetect.detectMultiScale(grayImg, 1.3, 5) 

    for (x, y, w, h) in faces: 
     cv2.imwrite("dataset/user_" + str(Id) + "_" + str(i) + ".jpg", grayImg[y : y + h, x : x + w]) 
     cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) 
     i += 1 
     cv2.waitKey(100) 

    cv2.imshow("Camera", img) 
    cv2.waitKey(1) 

    if (i > 20): 
     break 

cam.release() 
cv2.destroyAllWindows() 

Hier ist mein PHP-Code:

<?php 
    exec('C:\\Python27\\python.exe C:\\xampp\\htdocs\\atmp\\face_recognition\\dataset_creator.py'); 
?> 

Gibt es einen bestimmten Grund arbeitet nicht richtig? Jede Antwort wird geschätzt. Vielen Dank im Voraus :)

Antwort

1

Sie sollten sagen, was schief gelaufen ist. Aber ich wette, es ist

faceDetect = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') 

, die nicht ausgeführt wird. Wenn Sie den relativen Pfad verwenden, wird versucht, im aktuellen Verzeichnis nach der Datei xml zu suchen.

Eine andere Sache, die schief gehen kann, ist

cv2.imwrite("dataset/user_" + str(Id) + "_" + str(i) + ".jpg", grayImg[y : y + h, x : x + w]) 

Es wird scheitern, wenn PHP/Web-Benutzerberechtigung nicht über Schreib. Aber ich denke, es sollte unter Windows ok sein.

+0

Sie meinen, ich muss den vollständigen Pfad der XML-Datei schreiben? – Murad

+0

Ja. Ich würde das versuchen. –

+0

Werden Fenster Probleme mit der Schreibfunktion? – Murad

Verwandte Themen