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