-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfaceRecog.m
More file actions
20 lines (13 loc) · 772 Bytes
/
faceRecog.m
File metadata and controls
20 lines (13 loc) · 772 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function [reconImages, reconTestImages] = faceRecog(A, testImageA, numOfEigenvector, VNormalizedFlip, imageMean, training_size, test_size, test_data)
eigenvectorChosen = VNormalizedFlip(:, 1:numOfEigenvector);
%High-dimentional data projects to low-dimention
eigenProjection = eigenvectorChosen' * A;
%each face could be resconstructed as a linear combination of
%the best numOfEigenvector eigenvectors
imageMeanMat = repmat(imageMean, 1, training_size);
reconImages = imageMeanMat + eigenvectorChosen * eigenProjection;
%-Reconstruct Test data
testImageMeanMat = repmat(imageMean, 1, test_size);
testImageEigenProjection = eigenvectorChosen' * testImageA;
reconTestImages = testImageMeanMat + eigenvectorChosen * testImageEigenProjection;
end