gusucode.com > 精通Matlab数字图像处理与识别源码程序 > 精通Matlab数字图像处理与识别源码程序/chapter15/code/FaceRec/test.m
function test() % 测试对于整个测试集的识别率 % % 输出:accuracy --- 对于测试集合的识别率 display(' '); display(' '); display('测试开始...'); nFacesPerPerson = 5; nPerson = 40; bTest = 1; % 读入测试集合 display('读入测试集合...'); [imgRow,imgCol,TestFace,testLabel] = ReadFaces(nFacesPerPerson, nPerson, bTest); display('..............................'); % 读入相关训练结果 display('载入训练参数...'); load('Mat/PCA.mat'); load('Mat/scaling.mat'); load('Mat/trainData.mat'); load('Mat/multiSVMTrain.mat'); display('..............................'); % PCA降维 display('PCA降维处理...'); [m n] = size(TestFace); TestFace = (TestFace-repmat(meanVec, m, 1))*V; % 经过pca变换降维 TestFace = scaling(TestFace,1,A0,B0); display('..............................'); % 多类 SVM 分类 display('测试集识别中...'); classes = multiSVMClassify(TestFace); display('..............................'); % 计算识别率 nError = sum(classes ~= testLabel); accuracy = 1 - nError/length(testLabel); display(['对于测试集200个人脸样本的识别率为', num2str(accuracy*100), '%']);