MATLAB Answers

How do I create a matrix of the surf features for about 100 images?

12 ビュー (過去 30 日間)
Lauren Pitts
Lauren Pitts 2019 年 7 月 31 日
編集済み: Rena Berman 2019 年 10 月 3 日
Basically, I'm creating a Neural Network.. I have all of my images and I have the code to detect the SURF Features. Now, I need help to place the images with detected features into a matrix please.
This is the SURF code with the image it display with SURF points. I need to do this for 300 images made into a matrix to start training my NN.
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);
coffee cup.png

  3 件のコメント

KALYAN ACHARJYA
KALYAN ACHARJYA 2019 年 7 月 31 日
You have done for one image, now you want to do same for 300 images right?
Now, I need help to place the images with detected features into a matrix please
Which matrix, variable name please?
Lauren Pitts
Lauren Pitts 2019 年 7 月 31 日
@KALYAN ACHARJYA Right, I need to do it on all of my testing images. Do you mean what do I want to name the matrix?
KALYAN ACHARJYA
KALYAN ACHARJYA 2019 年 8 月 6 日
@Prabhan is already answerd, hope the problem is resolved, if not let me know?

サインインしてコメントする。

採用された回答

Prabhan Purwar
Prabhan Purwar 2019 年 8 月 5 日
編集済み: Rena Berman 2019 年 10 月 3 日
Hello,
I am assuming that you are making use of a Neural Network for classification purpose.
Following code makes a row-wise matrix for 300 images using SURF features as descriptors.
clear;
close all
clc;
for i=1:300
st=strcat('D:\test\chair\000',num2str(i,'%02d'),'.png');
I = imread(st);
I = rgb2gray(I);
points = detectSURFFeatures(I);
[features, valid_points] = extractFeatures(I, points);
[s1,s2]=size(features);
S=s1*s2;
ftr=reshape(features,1,S);
F(i,:)=ftr;
end
The following link describes basic image classification using a simple convolution Neural Network:
I would like to suggest you make use of "Image category classification using a bag of features approach" which uses SURF features and SVM classifier. This gives you a single vector that you can use at the input to a neural network or any other classifier of your choice.

  1 件のコメント

Zamokuhle Ngubane
Zamokuhle Ngubane 2019 年 8 月 18 日
Hey @Prabhan, The code you provided above does not work, it gives me an error: "The following error occurred converting from binaryFeatures to double:
Conversion to double from binaryFeatures is not possible."

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by