MATLAB Answers

kmeans Segmentation Clarification for color images

12 views (last 30 days)
I had segmented the attached image using kmeans. After kmeans color image segmentation, when I had plotted the cluster centers, I found that, the cluster center was not at the correct point. Why?

  4 Comments

Show 1 older comment
Sabarinathan Vadivelu
Sabarinathan Vadivelu on 11 Feb 2014
dataImage = imread('fpot3_1.jpg');
cform = makecform('srgb2lab');
lab_he = applycform(dataImage,cform);
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
[cluster_idx,cluster_center] = kmeans(ab,nColors,'emptyaction','singleton');
pixel_labels = reshape(cluster_idx,nrows,ncols);
imshow(pixel_labels,[]); hold on;
plot(cluster_center(:,2),cluster_center(:,1),'r*')
Nishandhini Balasundar
Nishandhini Balasundar on 3 Oct 2018
can you please explain each line of k means segmentation?
Image Analyst
Image Analyst on 3 Oct 2018
You can try mine (attached). I always put in lots of comments.

Sign in to comment.

Accepted Answer

Anand
Anand on 16 Feb 2014
Your cluster centers are not in the XY co-ordinate space. They are in the AB color space. So cluster_center does not refer to a location on the image.

  0 Comments

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 16 Feb 2014

  3 Comments

Sabarinathan Vadivelu
Sabarinathan Vadivelu on 17 Feb 2014
I closely following up your file exchange list. I had worked with all your demos in that list. But right now I'm working with kmeans Color Image Segmentation.
Anand
Anand on 17 Feb 2014
What didn't work in the link Image Analyst suggested?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!