Feature extraction surf, storing points
Mostrar comentarios más antiguos
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
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
el 20 de Oct. de 2019
Image Analyst
el 20 de Oct. de 2019
Do you mean like to disk in a .mat file by using the save() function?
Ömer Faruk Kurular
el 21 de Oct. de 2019
Ömer Faruk Kurular
el 21 de Oct. de 2019
Editada: Ömer Faruk Kurular
el 21 de Oct. de 2019
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.
Categorías
Más información sobre Computer Vision with Simulink en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!