Asked by taly
on 21 Aug 2013

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 (^_^)

Answer by Shashank Prasanna
on 21 Aug 2013

Edited by Shashank Prasanna
on 21 Aug 2013

Accepted answer

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.

Answer by 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?

Show 1 older comment

taly
on 21 Aug 2013

sorry for that, I'm new here.

As for the question: I ment, after I have 11 clusters which each define one type of flower, Is there a way that I can compare another picture of a flower to the clusters, to check which one it belongs to.

The idea that crossed my mind is to add the array of the new flower as the last row of the matrix X and then use kmeans on X and check what cluster the last row go to.

Shashank Prasanna
on 21 Aug 2013

check the distance from each your new flower to the centroids and pick the minimum distance.

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments