用不同的颜色通道在 MATLAB 中叠加图像

Overlaying Images in MATLAB with different color channel

我有 MATLAB 创建的三个二值图像(用 zeros(height, width) 生成),分别具有 R、G 和 B 通道。现在我想把它们重叠在一起形成彩色图像。

什么命令可以用来生成同时应用不同通道的重叠图像?

谢谢。

在MATLAB中,一张RGB图像保存为m by n by 3数组,其中mn是高和宽的图像。因此图像部分是:

rgbImage(:,:,1) = redImage;
rgbImage(:,:,2) = greenImage;
rgbImage(:,:,3) = blueImage;

当然你应该先预分配图像以提高性能。您可以为此类数组做的一个技巧是通过

创建它
rgbImage(:,:,3) = blueImage;
rgbImage(:,:,2) = greenImage;
rgbImage(:,:,1) = redImage;

这样,m by n by 3 数组在第一步中分配,并且数组不必在接下来的步骤中扩展。

您还可以使用 cat 将单通道图像连接成多通道(彩色)图像:

rgbImage = cat(3, redImage, greenImage, blueImage);