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

2 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Jalaj Gambhir
Jalaj Gambhir el 2 de Ag. de 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

Más respuestas (0)

Categorías

Más información sobre Display Image en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by