-
大小: 1KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-02-11
- 語言: Matlab
- 標(biāo)簽: PCA??光譜??particularly??
資源簡介
本程序利用matlab語言,實(shí)現(xiàn)了對(duì)高光譜遙感圖像的讀取并做主成分分析,將結(jié)果按貢獻(xiàn)率大小順序排列并顯示出來。
代碼片段和文件信息
clearclose?all
%讀數(shù)據(jù)
fid=fopen(‘C:\Program?Files\ITT\IDL71\products\envi47\data\cup95effbsq‘‘r‘);
M=400;
N=350;
band=50;
R=zeros(MNband);
for?i=1:band;
?????F=fread(fid[M?N]‘int16‘);
???R(::i)=F;?%取得第i波段光譜圖像
end
fclose(fid)
imshow(R(::1)[])%顯示第i波段圖像
%協(xié)方差矩陣
r(1:band1:band)=0;
v(1:band)=0;
for?i=1:M
????for?j=1:N
????????a(1:band)=R(ij1:band);
????????r=r+a‘*a;
????????v=v+a;
????end
end
r=r/(M*N);
v=v/(M*N);
C=r-v‘*v;%協(xié)方差矩陣cov(XY)=E(XY)-E(X)E(Y)
%主成分變換
[Tlambda]=eig(C);%協(xié)方差矩陣的特征向量T
newlamda=diag(lambda);?????????????????%diag函數(shù)提取對(duì)角元素
[yi]=sort(newlamda);?????????????????%對(duì)特征值進(jìn)行從小到大排序,y為排序后的值,i為序號(hào)
for?z=1:length(y)
newy(z)=y(length(y)+1-z);???????????%newy為按照特征值從大到小排序后的結(jié)果
end
rate=y/sum(y)???
newra
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1752??2010-10-24?21:03??pca.m
-----------?---------??----------?-----??----
?????????????????1752????????????????????1
評(píng)論
共有 條評(píng)論