How can I get constant clusters using this code?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am using this code but getting different result for the desired cluster. Using the following code, the desired cluster for image hand.jpg is cluster 1 but for foot.jpg is cluster 4. I want the desired cluster number for every image not to be changed or any other ways that I can automatically pick the desired cluster for further analysis if the desired cluster number is changing.
I = imread(['ColorSpace\ForExperiment\foot.jpg']);
lab_he = rgb2lab(I);
% Extract first channel (L)
ab = lab_he(:, :, 2:3);
% Convert to data type single
ab = im2single(ab);
% Perform clustering using K-Means
nColors = 4;
pixel_labels = imsegkmeans(ab, nColors, "NumAttempts", 5);
imshow(pixel_labels, []);
% Display each cluster with their objects
mask1 = pixel_labels == 1;
cluster1 = I .* uint8(mask1);
imshow(cluster1); title('Objects in cluster1');
% Display second cluster's objects
mask2 = pixel_labels == 2;
cluster2 = I .* uint8(mask2);
imshow(cluster2); title('Objects in cluster2');
% Display third cluster's objects
mask3 = pixel_labels == 3;
cluster3 = I .* uint8(mask3);
imshow(cluster3); title('Objects in cluster3');
% Display fourth cluster's objects
mask4 = pixel_labels == 4;
cluster4 = I .* uint8(mask4);
imshow(cluster4); title('Objects in cluster4');
Any help is greatly appreciated.
Respuestas (1)
Image Analyst
el 9 de Mzo. de 2020
See my code for re-numbering clusters. Adapt as needed.
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!