我正在尝试使用cvInRangeS从图像中删除某种颜色。 我已经完成了这个tutorial,但是我返回的掩码似乎只保留了0个值。这是我的代码的副本:
-(IplImage*)removeBackgroundLinear:(IplImage*) inImg{
IplImage *imgHSV =cvCreateImage(cvGetSize(inImg), 8, 3);
cvCvtColor(inImg, imgHSV, CV_BGR2HSV);
IplImage* mask = cvCreateImage(cvGetSize(inImg), 8, 1);
cvZero(mask);
cvInRangeS(imgHSV, cvScalar(20, 100, 100), cvScalar(30, 255, 255), mask);
cvReleaseImage(&imgHSV);
return mask;
}
可能导致这种情况的原因是什么?当然,我正在尝试使用内部带有黄色物体的图像来编写代码。
感谢。
答案 0 :(得分:0)
尝试更改黄色范围
试试这个:
cvScalar(25, 80, 80,80), cvScalar(34, 255, 255,255)
您可以使用任何程序获得所需的颜色,例如colorpicker.exe