opencv - 红色调过滤器 - emgucv/opencv

标签 opencv emgucv

如何过滤图像的红色调?我知道红色在 330° 和 30° 之间大约为零(在 OpenCV 中由 165 到 15 表示?)。我如何使用 InRange 方法使用该范围,因为在 360°(OpenCV 中为 180)处存在溢出?

最佳答案

我使用以下代码检测 HUE 颜色:

Mat img_hsv, dst ;
cap >> image;
cvtColor(image, img_hsv, CV_RGB2HSV);
inRange(img_hsv, Scalar(110, 130, 100), Scalar(140, 255, 255), dst );

其中 dst 是与 img_hsv 和 CV_8U 类型相同大小的 Mat。
你的标量决定过滤后的颜色。在我的例子中:

色调从 110 到 140
SAT从130到255
VAL 从 100 到 255

更多信息在这里: OpenCV 2.4 InRange()

我不确定使用超出 180 度范围的色调,但我认为您可以单独计算它们,然后添加生成的垫子。

关于opencv - 红色调过滤器 - emgucv/opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14636615/

相关文章:

c# - 无法加载 DLL 'opencv_core290

c# - 使用emgu cv将两个子图像添加到一个新图像中

opencv - 有功能计算两个图像中所有像素的大小吗?

C# EmguCV/OpenCV "cvThreshold"异常行为 - 没有预期的阈值结果

android - OpenCV 未定义对 cv::SURF::SURF() eclipse 的引用

android - Android OpenCV教程5相机控制崩溃

python - 在 Google App Engine Python 2.7 上安装 opencv

c# - 如何使用 PictureBox 打开/关闭相机

c++ - Opencv HoughLines 线西塔?

iphone - opencv在iPhone中获取子图像