(aide) OPENCV face recognition
Bonsoir tt le monde
je travail en ce moment sur un projet de reconnaissance facial
j'ai pu trouver sur le web un code qui sert a tracer un rectangle sur le visage
mais ou je stagne c'est que je veux comparer le visage sur ma cam et les visages que j'ai dans ma base de données et tirer celui qui correspond le mieux
voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| import cv2.cv as cv
HAAR_CASCADE_PATH = "haarcascade_frontalface_default.xml"
CAMERA_INDEX = -1
WINDOW_NAME = "Real time face detection with Python and OpenCV"
def detect_faces(image):
"""
Detect face(s) in an image.
"""
faces = []
detected = cv.HaarDetectObjects(image, cascade, storage, 1.2, 2, \
cv.CV_HAAR_DO_CANNY_PRUNING, (100,100))
#print(dir(detected))
if detected:
for (x,y,w,h),n in detected:
faces.append((x,y,w,h))
return faces
if __name__ == "__main__":
# Point of entry in execution mode
cv.NamedWindow(WINDOW_NAME, cv.CV_WINDOW_AUTOSIZE)
cam = cv.CaptureFromCAM(CAMERA_INDEX)
storage = cv.CreateMemStorage()
cascade = cv.Load(HAAR_CASCADE_PATH)
faces = []
while True:
feed = cv.QueryFrame(cam)
cv.WaitKey(20)
faces = detect_faces(feed)
for (x,y,w,h) in faces:
cv.Rectangle(feed, (x,y), (x+w,y+h), 255)
cv.ShowImage(WINDOW_NAME, feed) |
j'utilise la lib opencv et python 2.7