J'utilise un guide fourni en ligne avec opencv2.4 qui vous montre comment détecter les visages avec opencv2 et python. J'ai suivi le guide et compris ce qu'il dit. Cependant, je n'arrive pas à trouver le problème avec mon programme parce que la vidéo montre mais maintenant le visage est détecté et la vidéo est très claire. Il n'y a pas d'erreurs J'ai couru en mode débogage et la valeur des faces reste un tuple vide donc je suppose que cela signifie qu'il ne trouve pas le visage. Ce que je ne comprends pas c'est pourquoi et je pense que cela a quelque chose à voir avec la table de hachage.Python Opencv2 + webcam facial dection, aucun visage n'est détecté aucune erreur
Par table de hachage, je veux dire le fichier xml en cascade. Je comprends que les cascades sont essentiellement les lignes directrices pour la détection des artefacts faciaux corrects?
Liens vers les guides. La table de hachage, c'est-à-dire le fichier xml est sur le github lié.
https://github.com/shantnu/FaceDetect/blob/master/haarcascade_frontalface_default.xml https://realpython.com/blog/python/face-detection-in-python-using-a-webcam/
import cv2
import sys
import os
#cascPath = sys.argv[1]
cascPath = os.getcwd()+'facehash.xml'
faceCascade = cv2.CascadeClassifier(cascPath)
print faceCascade
video_capture = cv2.VideoCapture(0)
while True:
# Capture frame-by-frame
ret, frame = video_capture.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags=cv2.cv.CV_HAAR_SCALE_IMAGE
)
cv2.cv
# Draw a rectangle around the faces
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# Display the resulting frame
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()