【问题标题】:Combine three grayscale images into RGB with MATLAB用MATLAB将三幅灰度图像合成为RGB
【发布时间】:2016-12-29 01:20:37
【问题描述】:

我有三个灰度图像,其中每个图像代表 16 位分辨率 RGB 图像的单个通道。我想将它们转换为一张 RGB 图像。我试过catind2rgb 但它不起作用。我们应该在使用ind2rgb 之前索引我们的灰度图像吗?还有其他方法吗?

谢谢

【问题讨论】:

  • 你能把你试过的代码贴出来

标签: image matlab


【解决方案1】:

假设您有三个矩阵R,G,B,类型为int16。如果你尝试

RGB = cat(3,R,G,B);
imshow(RGB)

IMSHOW 会抱怨:RGB images must be uint8, uint16, single, or double.。事实上,如果你检查文档:

真彩色图像可以是 uint8、uint16、单色或双色。一个索引 图像可以是逻辑、uint8、单或双。灰度图像可以 是逻辑的、uint8、int16、uint16、单或双。二值图像 必须是逻辑类。

因此,如果您连接三个 int16 灰度图像,并且您想使用 IMSHOW,则必须将生成的真彩色图像转换为它支持的图像:

imshow( im2double(RGB) )

【讨论】:

    猜你喜欢
    • 2022-08-05
    • 1970-01-01
    • 2011-12-03
    • 2021-11-03
    • 2014-02-26
    • 2014-12-22
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多