gpt4 book ai didi

LAB和灰度之间的Python OpenCV色彩空间差异

转载 作者:行者123 更新时间:2023-12-02 17:12:55 26 4
gpt4 key购买 nike

我的理解是,将图像从 BGR 转换为 LAB 时,L 分量应该代表图像的灰度分量。但是,当我从 BGR 转换为灰度时,预期值不匹配。例如,

        img1 = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
print img1[0][0]
img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print img2[0][0]

我在 LAB 中的图像中的第一个像素产生 [168 133 162] 而第二个产生 159。我的印象是它们应该以某种方式等效(没有 COLOR_LAB2GRAY 常量这一事实强化了这一点)。

有人可以澄清并解释为什么会这样吗?我对 LAB 的理解不正确,还是我只是在代码中误用了某些内容?

如果它们确实不同,那么使用哪个更好?我的应用程序的其余部分是在 LAB 模型中处理图像,所以我很想使用 L 分量作为我的灰度基线,但它有些区域看起来比它们应该的要亮......与 BGR2GRAY 场景不同。想法?

最佳答案

灰色 = 0.299R + 0.587G + 0.114B

但是从RGB到LAB的L channel 的转换是不同的。 (这是一个非线性函数)

确切的转换可以找到here .

LAB转换的非线性解释了你问题的最后一部分。

关于LAB和灰度之间的Python OpenCV色彩空间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com