使用开放CV中的HSV值检测眼睛

使用开放CV中的HSV值检测眼睛,c,opencv,eye-detection,C,Opencv,Eye Detection,我想检测一只眼睛,我有一些代码可以检测蓝色物体,所以如果我做了改变(我怎么能?),那么我就有可能检测到一只眼睛。因为下面的颜色有它自己的特定范围值,所以,如果我指定眼睛颜色HSV值,那么我可以使用此方法检测眼睛 在下面的代码中,我将检测蓝色对象,请告诉我,我在代码中做了哪些更改,以便我可以使用Open CV查看 IplImage* GetThresholdedImage(IplImage* img) { // Convert the image into an HSV

我想检测一只眼睛,我有一些代码可以检测蓝色物体,所以如果我做了改变(我怎么能?),那么我就有可能检测到一只眼睛。因为下面的颜色有它自己的特定范围值,所以,如果我指定眼睛颜色HSV值,那么我可以使用此方法检测眼睛

在下面的代码中,我将检测蓝色对象,请告诉我,我在代码中做了哪些更改,以便我可以使用Open CV查看

     IplImage* GetThresholdedImage(IplImage* img)
    {
    // Convert the image into an HSV image
    IplImage* imgHSV = cvCreateImage(cvGetSize(img), 8, 3);
    cvCvtColor(img, imgHSV, CV_BGR2HSV);

    IplImage* imgThreshed = cvCreateImage(cvGetSize(img), 8, 1);
      //For detecting BLUE color i have this HSV value, 
     cvInRangeS(imgHSV, cvScalar(112, 100, 100), cvScalar(124, 255, 255), imgThreshed);//this will not recognize the yellow color
     cvReleaseImage(&imgHSV);
      return imgThreshed;
    }

这样一种简单的方法可以使用一些阈值来提取蓝色对象,但即使它可以使用不同的黑色进行调整?蓝色绿色每个人都有不同的眼睛颜色。我没有看到一个非黑客的方法适用于您使用基于HSV阈值的blob提取。此方法适用于相同颜色的大块,即去除蓝色背景

多看看形状,每个人都有不同颜色的眼睛,但形状是圆形/椭圆形。检测圆的方法多种多样

…Hough变换已扩展到识别 任意形状,最常见的是圆或椭圆


使用Haar分类器进行眼睛检测要容易得多。