2010-05-06 97 views
1

我试图将此c代码(http://nashruddin.com/OpenCV_Eye_Detection)转换为python代码,但在c风格,他使用cvROI的东西,因为ROI函数不支持python-opencv,我试过cvGetSubRect在Opencv眼睛检测问题

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

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坐标是错误的,并尝试了一些坐标,但它没有奏效。任何想法 ?

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

回答

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) 

解决了这个问题