How can I detect the SURF Features of 100 images? (I already have the code)

1 vue (au cours des 30 derniers jours)
I have two sets of code, the first one detects and extracts 10 strongest points from an image.
clear;
close all;
I = imread('D:\test\chair\0001.png');
figure; imshow(I);
I = rgb2gray(I);
figure; imshow(I);
points = detectSURFFeatures(I);
figure;
imshow(I); hold on;
plot(points.selectStrongest(10));
[features, valid_points] = extractFeatures(I, points);
plot(valid_points.selectStrongest(5),'showOrientation',true);
The second one is a for loop that displays 100 images at once. But how can I insert the for loop into the SURF code?
for i=1:100 % we have 100 images we have in or folder
clc;clear;
images ='C:\Users\pittsl\Desktop\Matlab\train\cup';
pngfiles=dir(fullfile(images,'\*.png*'));
n=numel(pngfiles);
idx=randi(n);
im=pngfiles(idx).name;
im1=imread(fullfile(images,im));
imshow(im1)
end

Réponse acceptée

Jalaj Gambhir
Jalaj Gambhir le 2 Août 2019
Hi,
I am assuming you want to visualize the keypoints of all the 100 images. You can do so by:
images_dir ='C:\Users\pittsl\Desktop\Matlab\train\cup';
pngfiles=dir(fullfile(images_dir,'\*.png*'));
n=numel(pngfiles);
for i=1:n
figure;
image = pngfiles(i).name;
im1 = imread(fullfile(images_dir,image));
I = rgb2gray(im1);
imshow(I);
points = detectSURFFeatures(I);
imshow(I);
hold on;
plot(points.selectStrongest(10));
[features, valid_points] = extractFeatures(I, points);
plot(valid_points.selectStrongest(5),'showOrientation',true);
end

Plus de réponses (0)

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by