How can I read a batch of images instead of a single image, cluster them and pick the desired clusters for the segmented images for further analysis?
2 views (last 30 days)
Show older comments
I am using the following code for the segmentation of images which has rash on the skin which can segment only a single image. I want to find a way to read a batch of images instead of a single image and pick the desired clusters for further analysis.
I have attached two images for testing.
Help me please!
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');
0 Comments
Answers (1)
Image Analyst
on 9 Mar 2020
To process a folder of images, put your code inside a loop over files. See the FAQ for code samples:
See Also
Categories
Find more on Image Segmentation and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!