我试图获得一些颜色的界限。我使用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)
我不确定这是否是规范这些范围的正确方法,所以,如果你可以帮助我或提供一些建议,那就太棒了。
答案 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;