c -检测眼睛使用HSV值在开放的CV



我想检测一个眼睛,我有一些代码,我可以检测蓝色的对象,所以如果我做了改变(我怎么能?),那么我就有可能检测到一个眼睛。由于下面的颜色有自己特定的范围值,所以,如果我指定眼睛颜色的HSV值,那么我可以用这种方法检测眼睛。

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

     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;
    }

使用Haar分类器更容易进行眼睛检测。链接

这样一个简单的方法可以使用一些阈值来提取蓝色对象,但即使它可以使用不同的颜色黑色?蓝色的?绿色的吗?每个人眼睛的颜色都不一样。我没有看到一个非黑客的方法为您使用blob提取像这样基于HSV阈值工作。这种方法在相同颜色的大块上效果很好,例如移除蓝色背景。

多看看形状,每个人的眼睛颜色不同,但形状都是圆形/椭圆形的。有多种用于检测圆的霍夫变换。

…霍夫变换已扩展到确定的位置任意形状,最常见的是圆形或椭圆。

相关内容

  • 没有找到相关文章

最新更新