python - 我应该在 openCV 中使用什么 HSV 颜色范围来滤除蓝色像素?
问题描述
我使用不同的 OpenCV haar 级联分类器来检测车辆、交通标志和微笑。为了获得更好的效果,我尝试过滤掉作为背景颜色像素的蓝色。为此,我应用了 HSV 过滤器,但我对颜色范围感到困惑。
要仅选择白色、红色和黄色像素,我应该如何定义过滤器范围的下限和上限?
当我在这些范围内的图像上应用 HSV 过滤器时,我收到了以下结果:
解决方案
好吧,您已经为 Hue 设置了 0..45 的范围,这意味着围绕 Hue 轮的 0..90 度。蓝色为 240 度,但在 OpenCV 中,色调的比例因子为 2,以允许 360 度的色调变为 180,因为这将适合uint8
0..255 的范围。所以你可能想要 120,所以设置范围 105..135 并测试。
您为饱和度设置了 0..255 的范围。这意味着你不在乎你的蓝色有多饱和/鲜艳或不饱和,即使是灰色也可以。所以你需要将0增加到50+。
您已将值设置在 100..255 范围内,这意味着您只想要浅蓝色而不是深色。如果可以使用深蓝色,则减少 100。
您还可以在此处将图像加载到 Nathancy 的 GUI 中,它会动态地显示您的选择。如果你运行它,你会得到这些值:
(hMin = 69 , sMin = 37, vMin = 0), (hMax = 134 , sMax = 255, vMax = 255)
推荐阅读
- c++ - 如何在 mfc 中设置大小和透明/清除 CMFCToolBar 按钮和图标?
- hybris - Hybris Init 只初始化暂存目录
- ubuntu - Ubuntu 16.04 - Vagrant Box 问题:ssh_exchange_identification:读取:连接由对等方重置
- jenkins - Sed 命令在 Jenkins 流水线中不起作用
- php - 为什么两个相似的 PHP 代码的输出之间存在差异
- unity3d - 使玩家角色的行为就像使用鼠标事件 Unity
- vue.js - 如何在 element-ui 表中添加 keydown 事件?
- python - 我正在尝试在 django 中制作自定义用户模型,但它给了我很多错误
- python - 没有找到带有参数'('',)'的'cart-add'的Django NoReverseMatch Reverse
- python-2.7 - 想要创建一个未知维度的空矩阵并附加特征向量