如何在MATLAB中将许多RGB图像连接成一个图像?

时间:2011-02-25 10:32:40

标签: matlab image-processing

我有一百个相同大小的RGB图像,编号从1到100.我想用它们创建一个图像。例如,如果我给row = 10和column = 10那么输出应该是前10个图像将形成第一行,依此类推。

1 个答案:

答案 0 :(得分:2)

一种方法是创建一个包含图像的10×10单元格数组,然后使用CELL2MAT将它们连接成一个大图像。

nRows = 10;
nCols = 10;
imgCell = cell(nRows,nCols);

for iImage = 1:nRows*nCols

%# construct image name - fix this like so it conforms to your naming scheme
%# also, add the path if necessary
imageName = sprintf('image%i.jpg',iImage);

%# add the image to imgCell
%# images will filled first into all rows of column one
%# then into all rows of column 2, etc
imgCell{iImage} = imread(imageName);

end

%# if you want the images to be arranged along rows instead of 
%# columns, you can transpose imgCell here
%# imgCell = imgCell';

%# catenate into big image
bigImage = cell2mat(imgCell);

%# show the result
imshow(bigImage)