# 一、HSV 的三个通道含义
| 通道 | 名称 | 范围(OpenCV) | 物理意义 | 举例说明 |
|---|---|---|---|---|
| H | Hue(色相) | 0 ~ 180 | 表示颜色种类(红、橙、黄、绿、蓝、紫) | 红=0 / 180、黄≈30、绿≈60、蓝≈120 |
| S | Saturation(饱和度) | 0 ~ 255 | 表示颜色的“纯度”或“鲜艳程度” | 0=灰色调、255=纯色 |
| V | Value(亮度 / 明度) | 0 ~ 255 | 表示颜色的亮暗程度 | 0=黑、255=最亮 |
# 二、直观理解举例
| 颜色 | H(色相) | S(饱和度) | V(亮度) | 解释 |
|---|---|---|---|---|
| 白色 | 任意 | 0 | 高(>200) | 无色、高亮 |
| 灰色 | 任意 | 0 | 中等(80~200) | 无色、中亮度 |
| 黑色 | 任意 | 0 | 低(<50) | 无色、低亮度 |
| 红色 | 0 | 高 | 高 | 色相在红色段 |
| 黄色 | 30 | 高 | 高 | 典型黄线颜色 |
| 绿色 | 60 | 高 | 高 | 草地、树木区域 |
| 蓝色 | 120 | 高 | 高 | 天空或路面反光 |
# 三、为什么 OpenCV 的 H 是 0~180 而不是 0~360?
-
HSV 的理论值:
Hue ∈ [0°, 360°](角度表示颜色圆环) -
但 OpenCV 使用 8-bit 存储,因此缩小为一半:
H = 0~180 → 对应实际 0°~360°。
例如:|实际角度|OpenCV 中的 H 值|
|---|---|
|0°(红色)|0|
|60°(黄色)|30|
|120°(绿色)|60|
|180°(青色)|90|
|240°(蓝色)|120|
|300°(品红)|150|
|360°(回到红色)|180|
# 四、可视化直觉总结
可以这样理解:
H —— 决定“是什么颜色” S —— 决定“颜色的浓度” V —— 决定“颜色的亮度”
举个例子:
-
(H=30, S=200, V=250) → 鲜艳的黄色
-
(H=30, S=50, V=250) → 淡黄色(接近白)
-
(H=30, S=200, V=100) → 深黄色(偏棕)
-
(任意H, S=0, V=250) → 纯白
-
(任意H, S=0, V=0) → 纯黑
# 五、实用经验
在做图像处理时:
-
提取白色:低 S,高 V
-
提取黄色:H 在 15~35,S/V 都较高
-
提取黑色:低 V(<50),S 不重要
-
提取灰色:低 S,V 中等

