Ask Your Question
0

Why isn't opencv eye detection working properly?

asked 2015-07-11 00:07:14 -0600

mayooran gravatar image

I have used the below code for eye detection but it identifies eyes very inaccurately. The code I used is as follows,

import numpy as np
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

img = cv2.imread('sachin.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
     cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

It identifies the eyes as shown in these attached images!

C:\fakepath\Capture2.PNG

C:\fakepath\Capture.PNG

I have tried haarcascade_frontalface_alt.xml and haarcascade_eye_tree_eyeglasses.xml combination as well. I get the same output. I need the eye cordinates for further processing and since this identifies so incorrectly I am unable to proceed. Please help.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-07-11 02:28:29 -0600

The eye is less than the face features.So its accuracy is less. Better than the other methods used to validate your eyes(for example SVM, neural network, size eyes and ...)

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2015-07-11 00:07:14 -0600

Seen: 476 times

Last updated: Jul 11 '15