python - 如何标准化 HSV 值。 Python

标签 python opencv hsv

我正在尝试获取某些颜色的边界。我使用 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 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;

关于python - 如何标准化 HSV 值。 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44187690/

相关文章:

python - Xpath 中的空文本

python - 无法从python-opencv中的openni设备获取帧

c++ - 如何使用 OpenCv 中的 HSV 阈值和轮廓从图像中提取皮肤?

python - 两个递归 O(logn) 调用的大 O 运行时是多少?

python - dask 可以用于在核心之外进行分组和重新编码吗?

python - GaussianProcess 回归结果正确……达到比例因子?

python - opencv python使用houghcircle函数检测不规则形状

matlab - 计算对应像素

android - 在使用 OpenCV4Android 的应用程序中,如何确定相机拍摄的是 8 位图像还是 32 位图像?

opencv - 如何在 OpenCV 中设置 HSV 颜色范围?