# 一、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 中等