kmeans Segmentation Clarification for color images

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

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*')
can you please explain each line of k means segmentation?
You can try mine (attached). I always put in lots of comments.

Sign in to comment.

 Accepted Answer

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.

More Answers (1)

3 Comments

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.
What didn't work in the link Image Analyst suggested?

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!