我写了一个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);
答案 0 :(得分:0)
如果您将Y
视为所有图像的所有RGB矢量的连接,则需要在循环中添加此行
Y = cat( 1, Y, Vecrgb );
PS,
处理文件名和路径时,最好使用fullfile
命令:
Files = dir( fullfile( Folder, '*.png' ) );
使您的代码平台独立。