如何规范化HSV值。蟒蛇

时间:2017-05-25 18:41:42

标签: python opencv hsv

我试图获得一些颜色的界限。我使用GIMP来获得下限和上限。

从OpenCV文档中我读到了下一篇文章:

'对于HSV,Hue范围是[0,179],饱和范围是[0,255],值范围是[0,255]。不同的软件使用不同的规模。因此,如果您要将OpenCV值与它们进行比较,则需要对这些范围进行标准化'

所以,我试图将这些范围标准化,以便将它们与GIMP进行比较。这是代码:

# z = (xi  - min(x)) / (max(x) - min(x))
# where x=(x1,...,xn) and zi is now your i normalized data.

def norm_H_value(h):
        return (h - 0) / (179 - 0)

def norm_SV_values(x):
    return (x-0) / (255 - 0)

我不确定这是否是规范这些范围的正确方法,所以,如果你可以帮助我或提供一些建议,那就太棒了。

1 个答案:

答案 0 :(得分:0)

使用以下等式将GIMP HSV值转换为OpenCV值

GIMP值范围: H:0-> 360,S:0-> 100,V:0-> 100

OpenCV值范围: H:0-> 180,S:0-> 255,V:0-> 255

opencv_H = (gimp_H / 360) * 180; // (gimp_H / 2)
opencv_S = (gimp_S / 100) * 255;
opencv_V = (gimp_V / 100) * 255;