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 : Sélectionner tout - Visualiser dans une fenêtre à part
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