Image Segmentation Using K means

5 次查看(过去 30 天)
Octa
Octa 2013-6-29
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.

回答(3 个)

Walter Roberson
Walter Roberson 2013-6-29
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 个评论
syed salma banu s
syed salma banu s 2018-12-31
sir i need to cluster the image based on intensity of pixels e.g. i want 3 gray level classes
Walter Roberson
Walter Roberson 2018-12-31
convert the image to grayscale and kmeans requesting 3 clusters .

请先登录,再进行评论。


moahaimen talib
moahaimen talib 2017-4-10
hi i need to use kmean for segmenting and clustering a binary image please help

Gebra maryam Alehegn
How to correctly culsture image using k menas?

Community Treasure Hunt

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

Start Hunting!

Translated by