高光谱数据的pca处理(matlab)

参考:
matlab自带pca函数的详解
高光谱图像基于MATLAB的PCA降维
基于MATLAB的高光谱遥感数据的PCA运用

clear;clc;
PU=load('F:\【吴恩达课后编程作业】\HSI_data_sets\PU\PaviaU.mat');
data=PU.paviaU;
[m,n,p]=size(data);%(610,340,103)
t=m*n;%207400
data=reshape(data,t,p);%(207400,103),(样本数,波段数)
[pc,score,latent,tsquare]=pca(data);%pc为主成分系数,score为主成分的结果,latent为方差
feature_after_PCA=score(:,1:3);
RES=reshape(feature_after_PCA,m,n,3);
% imwrite(RES(:,:,1),'1.jpg');
% imwrite(RES(:,:,2),'2.jpg');
% imwrite(RES(:,:,3),'3.jpg');
imwrite(RES,'PU_pca_3.jpg')
%cumsum(latent)./sum(latent)
%ans =0.5832,0.9442,0.9886,0.9916,0.9937

高光谱数据的pca处理(matlab)_第1张图片

你可能感兴趣的:(论文代码)