将矩阵连接到另一个矩阵

时间:2013-11-24 07:26:07

标签: matlab image-processing matrix rgb reshape

我写了一个matlab代码,用于从文件夹中读取图像(图像为RGB)。
它逐个读取图像。在读取第一张图像后,它会重新调整尺寸,然后使用此功能对其进行整形,使新图像尺寸为(任意行数×3卷):

Vectrgb = reshape(rgb,[],3);

然后代码将读取新图像。

我应该如何将第二张图像的矩阵附加到一张图片上?

以下是代码:

Folder = 'fo\';
Files  = dir([Folder, '\*.png']);
Y=[];
for i = 1 : length(Folder) 
name  = strcat('telo-phase\',Files(i).name);
image = imread(name);
rgb   = imresize(image, 0.50); % resize the image  
Vectrgb = reshape(rgb,[],3);
end
Vectrgb1 = Vectrgb';[ind2,ctrs2]= kmeans(double(Vectrgb1),2);

1 个答案:

答案 0 :(得分:0)

如果您将Y视为所有图像的所有RGB矢量的连接,则需要在循环中添加此行

   Y = cat( 1, Y, Vecrgb );

PS,
处理文件名和路径时,最好使用fullfile命令:

Files = dir( fullfile( Folder, '*.png' ) );

使您的代码平台独立。