我有两个尺寸的图像让我们说image1 = 250x250和image2 = 250x550。 我希望有一个图像显示这两个图像组合。 像image3 = image1 + image2表示image3 = 250x800。
答案 0 :(得分:12)
image3 = [image1 image2]; %# Concatenate horizontally
然后,您可以使用IMAGE,IMAGESC或IMSHOW中的任何一项功能来image3
显示image(image3); %# Display the image in a figure window
:
[image1,map1] = imread('image1.png'); %# Image and colormap for image file 1
[image2,map2] = imread('image2.png'); %# Image and colormap for image file 2
注意:强>
您没有提到您正在处理的图像类型,只是它们是像素数据的二维矩阵。这意味着它们可以是binary images(像素值为0或1),grayscale images(像素值表示从黑到白的范围)或indexed color images(像素值为将索引表示为色彩图。)
对于二进制和灰度图像,上述解决方案应该可以正常工作。但是,如果每个图像都有自己唯一的colormap,则索引的彩色图像可能更难以组合。如果使用函数IMREAD从文件加载图像,则可以像这样获取颜色贴图:
map1
现在,如果map2
和image1 = ind2rgb(image1,map1); %# Convert image 1 to RGB
image2 = ind2rgb(image2,map2); %# Convert image 2 to RGB
image3 = cat(2,image1,image2); %# Concatenate the images along dimension 2
包含不同的颜色排列,则这两个图像不能轻易组合。一种解决方案是首先使用函数truecolor images将图像转换为三维IND2RGB,然后使用函数CAT将它们组合:
image3
现在您可以按照上述说明查看{{1}}。
答案 1 :(得分:1)
如果您只想并排查看这两个图像,可以使用subplot
在同一图中显示多个图像(或图形)。