繁体   English   中英

我应该在 openCV 中使用什么 HSV 颜色范围来滤除蓝色像素?

[英]What HSV color range should I use in openCV to filter out blue pixels?

我使用不同的 OpenCV haar 级联分类器来检测车辆、交通标志和微笑。 为了获得更好的效果,我尝试过滤掉作为背景颜色像素的蓝色。 为此,我应用了 HSV 过滤器,但我对颜色范围感到困惑。

到 select 只有白色、红色和黄色像素,我应该如何定义上下过滤器范围?

测试图像

当我在这些范围内的图像上应用 HSV 过滤器时,我收到了以下结果:

在此处输入图像描述

好吧,您已经为 Hue 设置了 0..45 的范围,这意味着围绕 Hue 轮的 0..90 度。 蓝色为 240 度,但 OpenCV 中的色调比例因子为 2,以允许 360 度色调变为 180,因为这将适合 0..255 的uint8范围。 所以你可能想要 120,所以设置范围 105..135 并测试。

您为饱和度设置了 0..255 的范围。 这意味着你不在乎你的蓝色有多饱和/鲜艳或不饱和,即使是灰色也可以。 所以你需要将0增加到50+。

您已将值设置在 100..255 范围内,这意味着您只想要浅蓝色而不是深色。 如果可以使用深蓝色,则减少 100。

您还可以在此处将图像加载到 Nathancy 的 GUI 中,它会动态地显示您的选择。 如果你运行它,你会得到这些值:

(hMin = 69 , sMin = 37, vMin = 0), (hMax = 134 , sMax = 255, vMax = 255)

在此处输入图像描述

我将下限的范围设置为([0,20,0]),上限的范围设置为([50,255,255])。 然后,我收到了更好的结果: 在此处输入图像描述

我所做的只是将较低的饱和度值从 0 增加到 20。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM