【问题标题】:Image Conversions in MatlabMatlab 中的图像转换
【发布时间】:2013-01-14 20:49:38
【问题描述】:

我在 Matlab 中使用 rgb2gray 将 RGB 图像(双格式)转换为相同格式的灰度图像。现在我想将相同的图像从灰色转换为 RGB。我在 Matlab 中使用了gray2rgb,但它给出了一个错误。那么如何使用 Matlab 将灰度图像转换为 RGB 图像呢?

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    简短的回答:你不能。至少不完美。

    正如肖恩所说,这是因为您在转换为灰度时丢失了一些信息。换言之,从灰度转换回 RGB 是一个欠定逆问题,因此没有简单的解决方案。

    现在这并不意味着您不能尝试。如果您对图像有一些先验知识,则可以在剩余信息之外使用它来计算原始 RGB 图像的估计

    例如,如果您知道(或假设)原始图像已经是灰度图像(在 RGB 容器中),那么您可以完全反转该过程。这就是 Sean 提到的 gray2rgb 函数正在做的事情。

    其中大部分是未解决的问题,因此可能超出您的预期。

    【讨论】:

      【解决方案2】:

      很抱歉,这是不可能的。 通过将图像转换为灰度,您减少了信息量(每个像素的 3 维降至 1)并且无法恢复。

      rgb2gray 函数是一个包含在 Matlab 中的函数,并且工作正常。 gray2rgb 函数不是标准的 Matlab 函数。如果您指的是this function on Matlab central,它的文档说明它没有做任何有用的事情,只是从 1d 矩阵创建一个 3d 矩阵;图像仍然是灰度的。

      【讨论】:

        猜你喜欢
        • 2021-12-10
        • 1970-01-01
        • 2010-12-27
        • 2015-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多