据我所知,当将图像从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常数这一事实)。 / p>
有人可以澄清并解释为什么会这样吗?我对LAB的理解是不正确的,还是我只是在我的代码中滥用了什么?
如果它们确实不同,那么哪个更好?我的应用程序的其余部分是在LAB模型中操作图像,因此我很想使用L分量作为我的灰度基线,但它有些区域看起来比它们应该更轻....与BGR2GRAY场景不同。想法?
答案 0 :(得分:2)