我正在尝试使用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;
}
是什么原因造成的?当然,我正在尝试针对内部带有黄色对象的图像执行代码。
谢谢。
最佳答案
尝试改变黄色范围
试试这个 :cvScalar(25, 80, 80,80), cvScalar(34, 255, 255,255)
而且您可以使用任何程序来获得所需的颜色,例如colorpicker.exe
关于opencv - opencv-删除图像中的所有黄色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14295594/