Bonjour,
J'ai un soucis lorsque j'utilise la méthode kmeans.
Je récupère une matrice récoltant les composantes RVB de mon image via le code suivant :
Une fois ceci fait je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 %Taille: nombres de lignes, de colonnes, et de pixels de l'image taille=size(picture); nb_colonnes=taille(1,2); %Création des matrices unicolonnes Rouge, Vert et Bleu R=picture(:,1,1); V=picture(:,1,2); B=picture(:,1,3); for q=2:nb_colonnes R=[R;picture(:,q,1)]; V=[V;picture(:,q,2)]; B=[B;picture(:,q,3)]; end %Création de la matrice RVB, 3 colonnes, une pour chaque composante %colorimétrique matriceRVB=[R,V,B];
Afin de n'avoir à la fin seulement 256 couleurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CENTER = kmeans(matriceRVB,256)
J'ai alors le problème suivant :
Je suppose que je n'entre pas le bon format à la fonction, mais je ne sais pas comment régler le problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 ??? Error using ==> plus Integers can only be combined with integers of the same class, or scalar doubles. Error in ==> kmeans>distfun at 722 D(:,i) = D(:,i) + (X(:,j) - C(i,j)).^2; Error in ==> kmeans at 329 D = distfun(X, C, distance, 0); Error in ==> utilisation_kmeans at 9 CENTER = kmeans(matriceRVB,256) Error in ==> RunScript at 9 utilisation_kmeans();
Si quelqu'un a une idée, je suis preneur !
Partager