Filter löschen
Filter löschen

How to store SURF features of multiple images

1 Ansicht (letzte 30 Tage)
KDR
KDR am 12 Jan. 2017
Kommentiert: lebed toufik am 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 Kommentar
KS
KS am 14 Aug. 2017
Hi, I am having the same problem. Can you please tell me if you came up with a solution?
Thanks.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

KSSV
KSSV am 12 Jan. 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 Kommentare
KSSV
KSSV am 12 Jan. 2017
YOu can access the feature you want using Features{i}
lebed toufik
lebed toufik am 19 Feb. 2022
@KSSV I used the features {i} but still the same problem.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by