1

このcコード( http://nashruddin.com/OpenCV_Eye_Detection )をPythonコードに変換しようとしていますが、cスタイルではcvROIを使用しました。これは、ROI関数がpython-opencvでサポートされていないため、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の座標が間違っていると思い、いくつかの座標を試しましたが、うまくいきませんでした。何か案が ?

注:顔検出方法は非常にうまく機能し、そのコードは目検出方法と同じです。

4

1 に答える 1

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)

問題を解決しました

于 2010-05-16T12:33:10.330 に答える