www.gusucode.com > matlab编程人脸识别程序 > matlab编程人脸识别程序/程序/example.m

    clear all
clc
close all

% You can customize and fix initial directory paths
TrainDatabasePath = uigetdir(strcat(matlabroot,'\work'), '选择训练人脸库' );
TestDatabasePath = uigetdir(strcat(matlabroot,'\work'), '选择测试人脸库');

%读取人脸库的路径
prompt = {'输入库内测试人脸数字代表'};
dlg_title = 'Input of PCA-Based Face Recognition System';
num_lines= 1;
def = {'1'};

TestImage  = inputdlg(prompt,dlg_title,num_lines,def);
TestImage = strcat(TestDatabasePath,'\',char(TestImage),'.jpg');
im = imread(TestImage);

T = CreateDatabase(TrainDatabasePath);
[m, A, Eigenfaces,D] = EigenfaceCore(T);

%画出特征值得图像
figure;
x=1:20;
D=diag(D);
y = flipud(D);
plot(x,y,'.')
xlabel('数');
ylabel('特征值大小');


OutputName = Recognition(TestImage, m, A, Eigenfaces);

SelectedImage = strcat(TrainDatabasePath,'\',OutputName);
SelectedImage = imread(SelectedImage);

figure;
subplot(1,2,1);imshow(im);
title('测试人脸');
subplot(1,2,2);imshow(SelectedImage);
title('库内匹配人脸');
%输出识别人脸的数字代号
str = strcat('Matched image is :  ',OutputName);
disp(str)