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

Bow*_*use 4 matlab colors image-processing color-space lab-color-space

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

任何的想法?

And*_*ein 5

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


小智 5

如果您有 CIELa*b* 色彩空间表示形式的图像,您只需使用(可在此处Lab2RGB找到)将其转换回 RGB,然后使用该函数将图像转换为灰度。rgb2gray

rgb2gray请注意, 生成的灰度图像和L生成的通道存在差异RGB2Lab

在Matlab中,灰度简单地通过以下方式实现

0.2989 * R + 0.5870 * G + 0.1140 * B 
Run Code Online (Sandbox Code Playgroud)

其中L通过更复杂的方式实现(参见源代码),因此给出了不同的结果。

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