From decd220e6cfd24de0cc59058061cf453cfeedc85 Mon Sep 17 00:00:00 2001 From: DonghwanKIM0101 Date: Fri, 21 Apr 2023 22:05:12 +0900 Subject: [PATCH] issue 435, measure eyes' size @thelostpeace comments that the data is [x, y, w, h], not [x1, y1, x2, y2]. --- deepface/detectors/OpenCvWrapper.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/deepface/detectors/OpenCvWrapper.py b/deepface/detectors/OpenCvWrapper.py index 02dc351..cd0fc95 100644 --- a/deepface/detectors/OpenCvWrapper.py +++ b/deepface/detectors/OpenCvWrapper.py @@ -56,7 +56,6 @@ def detect_face(detector, img, align=True): pass if len(faces) > 0: - for (x, y, w, h), confidence in zip(faces, scores): detected_face = img[int(y) : int(y + h), int(x) : int(x + w)] @@ -71,7 +70,6 @@ def detect_face(detector, img, align=True): def align_face(eye_detector, img): - detected_face_gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY ) # eye detector expects gray scale image @@ -86,12 +84,11 @@ def align_face(eye_detector, img): # this is an important issue because opencv is the default detector and ssd also uses this # find the largest 2 eye. Thanks to @thelostpeace - eyes = sorted(eyes, key=lambda v: abs((v[0] - v[2]) * (v[1] - v[3])), reverse=True) + eyes = sorted(eyes, key=lambda v: abs(v[2] * v[3]), reverse=True) # ---------------------------------------------------------------- if len(eyes) >= 2: - # decide left and right eye eye_1 = eyes[0]