【问题标题】:How to normalize HSV values. Python如何标准化 HSV 值。 Python
【发布时间】:2017-05-25 18:41:41
【问题描述】:

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

从 OpenCV 文档中我阅读了下一个:

'对于 HSV,色相范围为 [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)

我不确定这是否是标准化这些范围的正确方法,因此,如果您能帮助我或提供一些建议,那就太好了。

【问题讨论】:

  • GIMP 使用什么范围?
  • @DanMašek H[0, 360], S[0, 100], V[0, 100]

标签: python opencv hsv


【解决方案1】:

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

GIMP 值范围: 水平:0 -> 360,水平:0 -> 100,垂直:0 -> 100

OpenCV 值范围: 水平:0 -> 180,水平:0 -> 255,垂直:0 -> 255

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-15
    • 2021-06-01
    • 2022-01-23
    • 1970-01-01
    • 2018-05-19
    • 2020-04-26
    • 1970-01-01
    • 2017-09-04
    相关资源
    最近更新 更多