How can the center be determined by the Kmeans method?

2 views (last 30 days)

I am trying to use the Kmeans algorithm of the classification process to separate the diseases in the rays from the normal, but every time the colors resulting from the Kmeans process change. I want to know how I can confirm the colors resulting from each implementation so that each color is specific to a particular class in the xray.
indexes = kmeans(grayImage(:), numberOfClasses);

Accepted Answer

KSSV on 24 Jun 2020
[idx,C,D] = kmeans(grayImge(:),numberOfclasses) ;
C is your cneter.
Read about kmeans. You can your center along with the function. The output is random..the classe indices change for every run.
  1 Comment
Ansam Nazar
Ansam Nazar on 24 Jun 2020
Thank you so much
But I am looking for a way to stabilize the resulting colors and cancel random with each implementation

Sign in to comment.

More Answers (1)

Aakash Mehta
Aakash Mehta on 24 Jun 2020
Due to the random starting value of the kmeans algorithm you are getting the different results with each implementation.
In order to get the results closer in each implementation,
  • Use the 'Start' property of kmeans algorithm. here, you can speecify the start points for your, each time kmeans algorithm starts from those points.
  • Also increase the no of iterations using the 'MaxIter' property.
For more help regarding name-value pair, please go to kmeans name-value pair.


Find more on Statistics and Machine Learning Toolbox 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!

Translated by