如何在matlab中将L * a * b *转换为灰度

时间:2012-12-15 15:51:20

标签: matlab image-processing colors

我已将RGB图片转换为La*b*色彩空间,但我想将其转换为灰度。我不确定我是否可以使用rgb2gray

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

L色彩空间的Lab频道是灰度部分。只是按原样使用它。使用rgb2gray将无法正常工作,因为它期望您作为输入提供给它的三个通道来自RGB色彩空间。

答案 1 :(得分:4)

如果您在CIELa * b *色彩空间表示中有图像,则可以使用Lab2RGB(可以找到here)将其转换回RGB,然后使用函数{{1}将图像转换为灰度。

请注意rgb2gray生成的灰度图像与rgb2gray生成的L频道存在差异。

在Matlab中,通过

简单地实现灰度
RGB2Lab

其中0.2989 * R + 0.5870 * G + 0.1140 * B 通过更复杂的方式(see source code)实现,因此给出了不同的结果。

因此,根据您的需求或要求明智地选择!