use kmeans to split database of flowers

3 views (last 30 days)
Hi, My project is about flower recognition using matlab. I have database of 100 flower of 11 types. The purpose of the project is to get as input one of the flowers and print the name and features of the flower.
I already extract 4 features of the flowers( rgb colors, number of petals and etc.) Now I want to use 'kmeans' in order to devide the flowers into 11 clusters, when each type will be assign to one of the clusters. Does kmeans has option that will let me choose 11 of the flowers as seeds which will build the clusters? Or mayby you know about anoher function which will let me insert the flowers into 11 clusters manualy?
Thanks (^_^)

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 21 Aug 2013
Edited: Shashank Prasanna on 21 Aug 2013
You can specify your 'seed' as start point for KMEANS:
[idx,ctrs] = kmeans(X,11,'start',seedmat)
X is your matrix of 100 rows and 4 columns (based on your description)
seedmat is a matrix of your 11x4 seeds centroids which is where KMEANS will start to search.

More Answers (1)

taly
taly on 21 Aug 2013
thank you very much Shashank.
I have one more question: how can I compare the subject flower, that will be described by 1X4 array (that contains his features), to the clusters that k-means made?
  4 Comments
Shashank Prasanna
Shashank Prasanna on 21 Aug 2013
check the distance from each your new flower to the centroids and pick the minimum distance.
taly
taly on 23 Aug 2013
That is a great way. Thank you very much (^_^)

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!