Keep SURF features from many images

1 view (last 30 days)
Erysham
Erysham on 6 Sep 2016
Commented: Erysham on 7 Sep 2016
Hello everybody,
Currently I wanted to extract SURF feature, let say from bunch of images stored in one folder. I run the following code, I managed to get the feature from the last image only. How can we keep the features for all images we extracted?
Thanks.
srcFiles = dir('D:\Phd Study\Matlab Food\fooddemo\try\*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('D:\Phd Study\Matlab Food\fooddemo\try\',srcFiles(i).name);
I = imread(filename);
a=rgb2gray(I);
points = detectSURFFeatures(a);
[features, valid_points] = extractFeatures(a, points);
end
figure; imshow(I); hold on;
plot(valid_points.selectStrongest(10),'showOrientation',true);

Accepted Answer

Thorsten
Thorsten on 6 Sep 2016
The most general form is
[features{i}, valid_points{i}] = extractFeatures(a, points);
if features is just a single number, you can use
[features(i), ...
if features is always a column vector of the same length, you can use
[features(:,i), ...
if features is always a row vector of the same length, you can use
[features(i,:), ...
if features is always a matrix of same size, you can use
[features(:,:,i)
and so on, same for valid_points, of course.
In this case it is efficient to pre-allocate the feature, like
feature = zeros(1, length(srcFiles))
or using
features(1, length(srcFiles)) = 0;

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!