資源簡介
首先利用PCA進行降維,并利用SVM對高光譜數據進行分類,數據采用印第安納農場數據,訓練樣本比例可調,設計了一個GUI

代碼片段和文件信息
load?Indian_pines_corrected.mat;
load?Indian_pines_gt.mat;??%讀圖
[xyz]=size(indian_pines_corrected);
data1=indian_pines_corrected(1:x1:y50);
data2=indian_pines_corrected(1:x1:y100);
data3=indian_pines_corrected(1:x1:y160);
dataout(::1)=imadjust(uint16(data1));
dataout(::2)=imadjust(uint16(data2));
dataout(::3)=imadjust(uint16(data3));
figure;
imshow(dataout);
title(‘合成的假彩色顯示‘);
[lwb]?=?size(indian_pines_corrected);%l(length)圖像長度,w(width)圖像寬度,b(band)波段數?
c?=?max(max(indian_pines_gt));%c(category)標準分類結果中的類別數
colormap_indian_pines?=?zeros(c3);
colormap_indian_pines(1:)?=?[0.74510.74510.7451];%灰色
colormap_indian_pines(2:)?=?[010];%綠色
colormap_indian_pines(3:)?=?[001];%藍色
colormap_indian_pines(4:)?=?[00.54510];%深綠色
colormap_indian_pines(5:)?=?[10.647060];%橙色
colormap_indian_pines(6:)?=?[0.80390.521570.24706];%棕色
colormap_indian_pines(7:)?=?[0.62750.125490.94118];%紫色
colormap_indian_pines(8:)?=?[100];%紅色
colormap_indian_pines(9:)?=?[110];%黃色
colormap_indian_pines(10:)?=?[10.89410.76863];%橘黃色
colormap_indian_pines(11:)?=?[0.94111];%天藍色
colormap_indian_pines(12:)?=?[011];%青色
colormap_indian_pines(13:)?=?[10.8430];%金色
colormap_indian_pines(14:)?=?[101];%洋紅
colormap_indian_pines(15:)?=?[000.5019];%海軍藍
colormap_indian_pines(16:)?=?[110.87843];%淺黃色
pavia_truthmap?=?zeros(lw3);%用于顯示的帕維亞大學標準分類結果
for?k?=?1:c
????for?i?=?1:l
????????for?j?=?1:w
????????????if?indian_pines_gt(ij)?==?k
????????????????pavia_truthmap(ij:)?=?colormap_indian_pines(k:);?????????
????????????end
????????end
????end
end
figure;
imshow(pavia_truthmap[]);title(‘真值圖顯示‘);
indian_pines_corrected?=?myPCA(indian_pines_corrected);??????%PCA降維
indian_pines_corrected?=?reshape(indian_pines_corrected145*145200);????%將高光譜按波段排列
[indian_pines_corrected?maxV?minV]?=?scale(indian_pines_corrected?0?1);??%歸一化處理,以便后續分類
indian_pines_gt?=?indian_pines_gt(:);??????%數據按列排
[trainindexvalidindextestindex~]?=?SampleSelect(indian_pines_gt0.1);?%?選擇10%的樣本作訓練
testindex?=?[testindex;validindex];?????%?其余的樣本作測試
TrainSamp?=?indian_pines_corrected(trainindex:)‘;%根據訓練樣本的標號找出訓練樣本
TestSamp?=?indian_pines_corrected(testindex:)‘;??%根據測試樣本的標號找出測試樣本
TrainLabel?=?indian_pines_gt(trainindex);????%訓練樣本標簽
TestLabel?=?indian_pines_gt(testindex);?????%測試樣本標簽
[bestcbestg]?=?GetcgCrossvalidate(TrainSampTrainLabel);?%找到最優的SVM參數c和g
model?=?svmtrain(TrainLabelTrainSamp‘[‘-c?‘num2str(bestc)‘-g‘num2str(bestg)‘?-b?1?-q‘]);???%訓練SVM分類器
disp(‘>?SVM?model?trained‘);
[Labels~~]?=?svmpredict(TestLabelTestSamp‘model‘-b?1‘);????????%SVM分類??????svmpredict和svmtrain都是MATLAB自帶的函數
Result?=?Confusmat(TestLabel?Labels);??????????%計算混淆矩陣、總體分類精度、Kappa系數、生產者精度、用戶精度
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2997??2019-05-15?09:01??高光譜\classification.m
?????文件???????1750??2019-05-14?09:02??高光譜\Confusmat.m
?????文件???????1125??2019-05-13?16:09??高光譜\fenlei.m
?????文件???????1517??2017-06-20?08:21??高光譜\GetcgCrossvalidate.m
?????文件??????36806??2019-05-13?23:24??高光譜\HSIclassificationGUI.fig
?????文件??????11356??2019-05-15?08:28??高光譜\HSIclassificationGUI.m
?????文件???????1701??2019-05-13?22:04??高光譜\HSIdisplay1.m
?????文件????5953527??2019-05-13?15:52??高光譜\Indian_pines_corrected.mat
?????文件???????1125??2019-05-13?15:52??高光譜\Indian_pines_gt.mat
?????文件????????556??2019-05-13?16:11??高光譜\jingdujiance.m
?????文件???????1497??2014-04-01?06:57??高光譜\libsvm-3.18\COPYRIGHT
?????文件??????78971??2014-04-01?06:57??高光譜\libsvm-3.18\FAQ.html
?????文件??????27670??2014-04-01?06:57??高光譜\libsvm-3.18\heart_scale
?????文件??????63803??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm.java
?????文件??????63095??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm.m4
?????文件????????868??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm_model.java
?????文件????????115??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm_node.java
?????文件???????1288??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm_parameter.java
?????文件?????????87??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm_print_interface.java
?????文件????????136??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm\svm_problem.java
?????文件??????51916??2014-04-01?06:57??高光譜\libsvm-3.18\java\libsvm.jar
?????文件????????624??2014-04-01?06:57??高光譜\libsvm-3.18\java\Makefile
?????文件???????4950??2014-04-01?06:57??高光譜\libsvm-3.18\java\svm_predict.java
?????文件???????8944??2014-04-01?06:57??高光譜\libsvm-3.18\java\svm_scale.java
?????文件??????12269??2014-04-01?06:57??高光譜\libsvm-3.18\java\svm_toy.java
?????文件???????8355??2014-04-01?06:57??高光譜\libsvm-3.18\java\svm_train.java
?????文件?????????81??2014-04-01?06:57??高光譜\libsvm-3.18\java\test_ap
?????文件????????732??2014-04-01?06:57??高光譜\libsvm-3.18\Makefile
?????文件???????1084??2014-04-01?06:57??高光譜\libsvm-3.18\Makefile.win
?????文件???????4069??2014-04-01?06:57??高光譜\libsvm-3.18\matlab\libsvmread.c
............此處省略65個文件信息
評論
共有 條評論