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

标签 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;
}

是什么原因造成的?当然,我正在尝试针对内部带有黄色对象的图像执行代码。

谢谢。

最佳答案

尝试改变黄色范围

试试这个 :
cvScalar(25, 80, 80,80), cvScalar(34, 255, 255,255)
而且您可以使用任何程序来获得所需的颜色,例如colorpicker.exe

关于opencv - opencv-删除图像中的所有黄色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14295594/

相关文章:

python - 如何提取图像中的白色区域

algorithm - 图像中已知物体的方向

python - 如何将图像从 openCV 发送到 Web API

Android OpenCV : update camera frames while executing AsyncTask

c++ - OpenCV c++ 示例到 iOS 项目

c++ - -1073741811(0xc000000d)错误opencv

c - OpenCV 上的逆向过滤——访问 DFT 值并乘以 DFT 矩阵

python-3.x - 无法将 cv_bridge 与 ROS Kinetic 和 Python3 一起使用

python - cv2.VideoCapture.open() 总是返回 FALSE

python - 获取边界框内的物体轮廓