Image Segmentation Using K means
Show older comments
When I execute the following command in Matlab 2012a
centroid=kmeans(imread('image.jpg'),4);
I get the following error
Error using +
Integers can only be combined with integers of the same class, or scalar doubles.
Error in kmeans>distfun (line 659)
*D(:,i) = D(:,i) + (X(:,j) - C(i,j)).^2;*
*Error in kmeans (line 273)*
*D = distfun(X, C, distance, 0, rep, reps);*
I need to segment this image into 4 cluster. This image is a CT Brain tumour Image. Size of this image is 233 x 216. Please give me a solution to cluster this image file.
Answers (3)
Walter Roberson
on 29 Jun 2013
YourImage = imread('Image.jpg');
centroid = kmeans(double(YourImage), 4);
Note: if your .jpg is color rather than greyscale, you will probably need to convert it to greyscale before clustering.
5 Comments
Octa
on 29 Jun 2013
Image Analyst
on 29 Jun 2013
Do you want to cluster based on intensity of pixels (e.g. you want 4 gray level classes), or you want to find spatial clusters (e.g. 4 clumps of spatially separated pixels)?
Octa
on 2 Jul 2013
syed salma banu s
on 31 Dec 2018
sir i need to cluster the image based on intensity of pixels e.g. i want 3 gray level classes
Walter Roberson
on 31 Dec 2018
convert the image to grayscale and kmeans requesting 3 clusters .
moahaimen talib
on 10 Apr 2017
0 votes
hi i need to use kmean for segmenting and clustering a binary image please help
1 Comment
Image Analyst
on 10 Apr 2017
Gebra maryam Alehegn
on 1 May 2017
0 votes
How to correctly culsture image using k menas?
Categories
Find more on Image Segmentation 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!