我试图使用cvInRangeS从图像中删除某种颜色。我已经完成了本教程,但是我返回的掩码似乎只持有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;
}
是什么原因导致的?当然,我是在一个里面有黄色对象的图像上尝试我的代码。
谢谢。
尝试改变黄色范围
try this:
cvScalar(25, 80, 80,80), cvScalar(34, 255, 255,255)
你可以用任何程序来获得你想要的颜色比如colorpicker.exe