Имам 100 изображения в моята база данни. Използвам тези 100 изображения както като набор за обучение, така и като тестови изображения. Трябва да направя 5 клъстера. Използвам собствени лица (PCA) за извличане на функции. Какви данни трябва да бъдат дадени за командата kmeans в matlab ?
Синтаксис за командата kmeans:
[IDX,C] = kmeans(X,k)
1.Каква е стойността X?
2. Дали трябва да дадем евклидово разстояние като вход?
3. Дали трябва да дадем тегловен вектор на входните изображения?
Моля, обяснете ми подробно.
Опитах изходния код
X = []
srcFiles = dir('C:\Users\rahul\Desktop\tomorow\*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('C:\Users\rahul\Desktop\tomorow\',srcFiles(b).name);
Imgdata = imread(filename);
X(:, i) = princomp(Imgdata);
end
[idx, c] = kmeans(X, 5)
Грешка, получавам:
Индексът надвишава размерите на матрицата. Грешка в pca (ред 4) filename =strcat('C:\Users\rahul\Desktop\tomorow\',srcFiles(b).name);