opencv - 从图像中删除所有黄色

时间:2013-01-12 16:57:52

标签: opencv

我正在尝试使用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;
}

可能导致这种情况的原因是什么?当然,我正在尝试使用内部带有黄色物体的图像来编写代码。

感谢。

1 个答案:

答案 0 :(得分:0)

尝试更改黄色范围

试试这个:

cvScalar(25, 80, 80,80), cvScalar(34, 255, 255,255)

您可以使用任何程序获得所需的颜色,例如colorpicker.exe