我有大约400张图片。 20个属于20个不同类别的图像。我需要执行自动图像聚类并显示结果,即以树格式的图像聚类。
我是第一次使用MATLAB,我设法执行以下操作
现在,我无法弄清楚如何以树形格式显示属于不同群集的图像。
我的代码在这里
for i = 1:length(Names)
im = imread(Names{i});
im = im2single(im2bw(im)) ; %-gray
im=imresize(im, [75 75]);
%-----------%
[f1, descr] = vl_dsift(im2single(im));
Y = datasample(descr,500,2,'Replace',false);
descriptors(:,:,1) = Y;
descriptors=double(descriptors);
end
%kmeans
numClusters = 20 ;
[centers, assignments] = vl_kmeans(descriptors, numClusters);
我得到的输出是中心128*20
,分配是1*500
矩阵。有人可以告诉我如何找出哪个图像属于哪个群集并显示图像分离的群集?我需要以树格式显示簇,每个簇显示它包含的图像。