我需要使用PCA顯示圖像特徵向量矩陣的前10個特徵臉。特徵臉不能正確顯示並且非常暗
我正在使用下面的matlab代碼來創建第一個特徵臉,但我變得非常黑暗,不太正確的特徵臉。 eFea是240x4096一個矩陣,其中每一行代表64×64
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))
任何提示關於在代碼中的錯誤將是有幫助的圖像。
那麼這是否意味着添加[]會將圖像重新縮放到0-255? – rinku
imshow(I,[lo,hi])設置I的顯示範圍,所以lo和任何低於lo的值都顯示爲黑色,hi和高於hi的任何值都顯示爲白色。使用[]代替[lo,hi]設置lo = min(I(:))和hi = max(I(:))。 –