OpenCV在比较直方图时,最佳操作是在HSV空间中操作,为什么?

OpenCV在比较直方图时,最佳操作是在HSV空间中操作,为什么?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 建议你看下这篇博客👉 :OpenCV颜色空间(BGR转换HSV)转换后,H、S、V通道的取值范围是什么?
  • 除此之外, 这篇博客: Opencv_03 图像色彩空间转换中的 ③ HSV色彩空间 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    HSV使用一个倒锥体或者是圆柱体来表示

    在这里插入图片描述
    HSV表示彩色图像的方式由三部分组成:

    • Hue: 色调,色相
    • Saturation: 饱和度,色彩纯净度
    • Value:明度

    Hue:
    Hue用角度度量,取值范围是0~360°,表示色彩信息,即所处的光谱的颜色的位置. 表示如下:

    颜色圆环上所有的颜色都是光谱上的颜色,从红色开始按逆时针方向旋转,Hue=0表示红色,Hue=120表示绿色,Hue=240表示蓝色,在GRB中,颜色由三个值共同决定,比如黄色为(255,255,0),在HSV中,黄色只有一个值决定,Hue=60即可.

    HSV 圆柱体的半边横截面 (Hue=60):

    其中水平方向表示饱和度,饱和度表示颜色接近光谱色的程度.饱和度越高,说明颜色越深,越接近光谱色.饱和度越低,说明颜色越浅,越接近白色.饱和度为0表示纯白色.取值范围为0-100%,值越大,颜色越饱和.

    竖直方向表示明度,决定颜色空间中颜色的明暗程序,明度越高,表示颜色越明亮,范围是0-100%.明度为0表示纯黑色(此时颜色最暗)

    可以通俗的理解为:
    在Hue一定的情况下,饱和度减小,就是往光谱中添加白色,光谱色所占的比例也在减小,饱和度减少到0,表示光谱所占的比例为零,导致整个颜色呈现白色.

    明度减小,就是往光谱中添加黑色,光谱色所占用比例也在减小,明度减为0,表示光谱色所占的比例为0,导致整个颜色呈现黑色.

    HSV对用户来说是一种比较直观的颜色模型.我们可以很轻松地得到单一的颜色,即指定颜色角H,并让V=S=1,然后通过向其中加入黑色和白色来得到我们需要的颜色.增加黑色可以减小V而S表示不变,同样增加白色尅减小S而V不变.

    注意:
    在Opencv中hsv的取值范围分别是: H(0~180) S:(0-255),V:(0-255);

    HSV颜色基本对照表


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^