我需要使用 PCA 显示第 10 个特征面作为图像特征向量矩阵。
我正在使用下面的 matlab 代码来创建第一个特征脸,但我变得很黑,而且特征脸也不那么正确。eFea 是一个 240x4096 的矩阵,其中每一行代表一个 64x64 的图像
newData = eFea';
data = newData;
[M,N] = size(data);
mn = mean(data,2);
data = double(data) - repmat(mn,1,N);
% construct the matrix Y
Y = data' / sqrt(N-1);
% SVD
[u,S,PC] = svd(Y,0);
imshow(reshape(PC(1,:),64,64))
有关代码错误的任何提示都会有所帮助。