Azzera filtri
Azzera filtri

How to store SURF features of multiple images

1 visualizzazione (ultimi 30 giorni)
KDR
KDR il 12 Gen 2017
Commentato: lebed toufik il 19 Feb 2022
Hello all, I'm using SURF descriptor for feature extraction from folder of images. The result i.e. surf features are of different dimension for different image i.e. N*64, N varies with each image. These features are to be classified using knn classifier,one image with all of its features as one class. But KNN classifier takes each row wise features as one class. So how to classify this varying row size features or how to store this in a format that is passed as input to KNN classifier. Below is the code where "features1{i}" contains all the surf features.
srcFiles = dir('C:\Users\nmamit\Documents\MATLAB\photos\*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('C:\Users\nmamit\Documents\MATLAB\photos\',srcFiles(i).name);
I1 = rgb2gray(imread(filename));
points1 = detectSURFFeatures(I1);
feature = zeros(1, length(srcFiles))
[features1{i}, valid_points1{i}] = extractFeatures(I1, points1);
figure; imshow(I1);hold on;
plot(valid_points1{i}.selectStrongest(10),'showOrientation',true);
end
  1 Commento
KS
KS il 14 Ago 2017
Hi, I am having the same problem. Can you please tell me if you came up with a solution?
Thanks.

Accedi per commentare.

Risposte (1)

KSSV
KSSV il 12 Gen 2017
Store them into cells.
srcFiles = dir('C:\Users\nmamit\Documents\MATLAB\photos\*.jpg'); % the folder in which ur images exists
Features = cell(length(srcFiles),1) ;
Valid_points = cell(length(srcFiles),1) ;
for i = 1 : length(srcFiles)
filename = strcat('C:\Users\nmamit\Documents\MATLAB\photos\',srcFiles(i).name);
I1 = rgb2gray(imread(filename));
points1 = detectSURFFeatures(I1);
[features1, valid_points1] = extractFeatures(I1, points1);
Features{i} = features1 ;
Valid_points{i} = valid_points1 ;
figure; imshow(I1);hold on;
plot(valid_points1{i}.selectStrongest(10),'showOrientation',true);
end
Features
Valid_points
  3 Commenti
KSSV
KSSV il 12 Gen 2017
YOu can access the feature you want using Features{i}
lebed toufik
lebed toufik il 19 Feb 2022
@KSSV I used the features {i} but still the same problem.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by