Image Segmentation Using K means
    5 views (last 30 days)
  
       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.
0 Comments
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
  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
  moahaimen talib
 on 10 Apr 2017
        hi i need to use kmean for segmenting and clustering a binary image please help
1 Comment
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!