Opencv中的眼睛检测问题

时间:2010-05-06 08:24:37

标签: opencv face-detection

我正在尝试将此c代码(http://nashruddin.com/OpenCV_Eye_Detection)转换为python代码,但是在c风格中,他使用了cvROI的东西,因为python-opencv不支持ROI函数,我试过cvGetSubRect

所以这是代码的眼睛检测部分:

 eye_region = cvGetSubRect(image,cvRect(face.x,int(face.y + (face.height/4)),face.width,int(face.height/2)))
 eyes = cvHaarDetectObjects(eye_region,eyeCascade,memo,1.15,3,0,cvSize(25,15))
 for e in eyes:
  cvRectangle(image, cvPoint( int(e.x), int(e.y)),
                                cvPoint(int(e.x + e.width), int(e.y + e.height)),
                                CV_RGB(0, 255, 0), 1, 8, 0)


 return image;

当我运行此代码时,它会绘制矩形无关的位置。我想,eye_region坐标是错误的,并尝试了一些坐标,但它没有用。任何的想法 ?

注意:人脸检测方法效果很好,其代码与眼睛检测方法相同。

1 个答案:

答案 0 :(得分:2)

好吧最后我解决了这个问题,虽然这是一个虚拟的问题

改变

cvRectangle(eye_region, cvPoint( int(e.x), int(e.y)),
                                cvPoint(int(e.x + e.width), int(e.y + e.height)),
                                CV_RGB(0, 255, 0), 1, 8, 0)

解决了问题