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

opencv-从图像中删除所有黄色,opencv,Opencv,我正在尝试使用cvInRangeS从图像中删除特定颜色。 我已经完成了这个过程,但是我返回的掩码似乎只包含0个值。这是我的代码副本: -(IplImage*)removeBackgroundLinear:(IplImage*) inImg{ IplImage *imgHSV =cvCreateImage(cvGetSize(inImg), 8, 3); cvCvtColor(inImg, imgHSV, CV_BGR2HSV); IplImage* mask = cvC

我正在尝试使用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;
}
这可能是什么原因造成的?当然,我正在尝试我的代码对一个图像与黄色的对象内


谢谢。

尝试更改黄色范围

试试这个:

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


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

输入图像可能有问题,因为当我运行您的代码时,它为我提供了正确的输出。输入图像的数据类型是什么?