首页 > 解决方案 > 如何在 HSV 颜色空间中创建下限和上限?

问题描述

我在 python 中使用 openCV 进行颜色过滤。我来到这一步,我必须创建蓝色的下限和上限。

lower_blue = np.array([35, 140, 60]) 
upper_blue = np.array([255, 255, 180])

所以我想知道如何定义蓝色范围?

标签: python-3.xopencvopencv3.0hsv

解决方案


色调从 0 到 360 度定义如下,其中蓝色为 240 度,范围约为 210 到 270

在此处输入图像描述

然而,在 Python/OpenCV 中,色调被缩放到 0 到 180 的范围内。所以图表中的所有色调都除以 2。所以蓝色将在 120 处,范围从大约 105 到 135。这将为蓝色提供一个起点. 但并非所有蓝色色调都具有完全的饱和度或价值(亮度)。因此,您还需要为其中的每一个提供一个点差,其高值为 255。

我经常做的是将图像转换为 HSV 并保存。在一些基于 GUI 的工具(如 GIMP 或 Photoshop)中打开它,或使用 Python GUI 来测量蓝色阴影的实际范围。然后,我对上下限值添加和减去一些进一步的容差,并通过查看我的阈值图像进行测试。我一直在调整,直到我喜欢门槛的外观。


推荐阅读