用不同的颜色通道在 MATLAB 中叠加图像
Overlaying Images in MATLAB with different color channel
我有 MATLAB 创建的三个二值图像(用 zeros(height, width)
生成),分别具有 R、G 和 B 通道。现在我想把它们重叠在一起形成彩色图像。
什么命令可以用来生成同时应用不同通道的重叠图像?
谢谢。
在MATLAB中,一张RGB图像保存为m
by n
by 3
数组,其中m
和n
是高和宽的图像。因此图像部分是:
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);
我有 MATLAB 创建的三个二值图像(用 zeros(height, width)
生成),分别具有 R、G 和 B 通道。现在我想把它们重叠在一起形成彩色图像。
什么命令可以用来生成同时应用不同通道的重叠图像?
谢谢。
在MATLAB中,一张RGB图像保存为m
by n
by 3
数组,其中m
和n
是高和宽的图像。因此图像部分是:
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);