MATLAB: How to link fiducial point of face image with its image

Computer Vision Toolboxface detectionfeature extractionimage processing

Hello all.. I want to perform feature extraction on facial image on its fiducial points using SURF descriptor. Fiducial point is in .dat file and image is in .jpg. So how to merge these to file inorder extract feature from only that fiducial point location. Thank you…

Best Answer

Try to use the following code extracting features from fiducial points.
%%Prepare a facial image
% can be read from .jpg file
bodyDetector = vision.CascadeObjectDetector('UpperBody');
bodyDetector.MinSize = [60 60];
bodyDetector.MergeThreshold = 10;
I = imread('visionteam.jpg');
bboxes = step(bodyDetector, I);
Iroi = imcrop(I,bboxes(1,:));
imshow(Iroi);
%%Fiducial points
% can be read from .dat file
points = [
47.2687 37.1951;
54.3481 43.5666;
62.6075 37.1951;
72.5187 41.2068;
52.6963 52.7699;
38.0654 42.3867];
%%Extract features
[features,validPoints] = extractFeatures(rgb2gray(Iroi), points, 'Method', 'SURF');
%%Visualize
figure; imshow(Iroi); hold on
plot(validPoints,'showOrientation',true);
Related Question