Feature extraction surf, storing points

2 visualizaciones (últimos 30 días)
Ömer Faruk Kurular
Ömer Faruk Kurular el 20 de Oct. de 2019
Comentada: Turlough Hughes el 21 de Oct. de 2019
I have some number of images that contains faces. First, I am collecting features from all images and need to store features for further purposes. What is the best way to store features? Later, I am gonna use them to match input images to detect face.
face = rgb2gray(imread('...'));
facePoints = detectSURFFeatures(face);
features = selectStrongest(facePoints, 100);

Respuestas (1)

Turlough Hughes
Turlough Hughes el 20 de Oct. de 2019
Editada: Turlough Hughes el 20 de Oct. de 2019
One way is to store as a struct, for example
s(ii).features=features; %where ii would be incrementing as you iterate through each image (i.e. for loop)
You can access the features of a given image afterwards as:
features=s(ii).features;
This way of storing your data will be particularly useful if you have other information you wish you wish to store that relates to each image such as:
s(ii).ImageName=ImName;
s(ii).folder=folder;
s(ii).otherdata=otherdata;
If you are not very familiar with structures I recomend reading the following documentation and working through some of the examples.
  5 comentarios
Ömer Faruk Kurular
Ömer Faruk Kurular el 21 de Oct. de 2019
Editada: Ömer Faruk Kurular el 21 de Oct. de 2019
It would be so good if I could store structure array persistently.
Turlough Hughes
Turlough Hughes el 21 de Oct. de 2019
Ah ok, you can save the struct as follows:
for ii=1:n_imgs
%load image
features= %etc
s(ii).features=features;
end
save('s.mat','s')
this will save the struct in your working directory as a file called s.mat.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by