資源描述:
《遙感影像監(jiān)督分類與非監(jiān)督分類及相關(guān)代碼實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、遙感影像監(jiān)督分類與非監(jiān)督分類摘要:遙感影像的分類方法按照是否有先驗類別可分為監(jiān)督分類和非監(jiān)督分類,這兩種分類方法有著本質(zhì)的區(qū)別但也有存在一定的聯(lián)系。本文從分類原理和分類方法等不同角度分別介紹了監(jiān)督分類和非監(jiān)督分類方法,并對兩種方法的分類結(jié)果進行了對比和分析。關(guān)鍵詞:遙感;監(jiān)督分類;非監(jiān)督分類;ISODATA算法;貝葉斯分類算法。1.數(shù)據(jù)來源本文使用的數(shù)據(jù)是華盛頓廣場上空由衛(wèi)星拍攝的高光譜遙感影像。該幅影像使用的傳感器系統(tǒng)覆蓋0.4到2.4m的可見光到近紅外的210個波段。由于0.9-1.4米光譜對應(yīng)的區(qū)域上空大氣透光性很差,因此將這個區(qū)域內(nèi)
2、的波段從影像中刪除,最后得到191個波段。該數(shù)據(jù)集有1208個掃描行,每行307個像元,容量近似150MB。為了清晰地反映影像中地物的特征,本文從191個波段中選擇了3個波段,分別是120、140和160。下面兩幅圖分別是全波段影像和三波段影像:
圖1全波段影像圖2三波段影像1.遙感影像的監(jiān)督分類2.1監(jiān)督分類的原理監(jiān)督分類(supervisedclassification)又稱訓(xùn)練場地法,是以建立統(tǒng)計識別函數(shù)為理論基礎(chǔ),依據(jù)典型樣本訓(xùn)練方法進行分類的技術(shù)。即根據(jù)已知訓(xùn)練區(qū)提供的樣本,通過選擇特征參數(shù),求出特征參數(shù)作為決策規(guī)則,建立判別函數(shù)
3、以對各待分類影像進行的圖像分類,是模式識別的一種方法。要求訓(xùn)練區(qū)域具有典型性和代表性。判別準(zhǔn)則若滿足分類精度要求,則此準(zhǔn)則成立;反之,需重新建立分類的決策規(guī)則,直至滿足分類精度要求為止。常用算法有:最大釋然分類法、最小距離分類法、馬氏距離分類法、平行六面體分類法、K-NN分類法。本文選用最大釋然分類法對遙感影像進行監(jiān)督分類。最大似然判別法.也稱為貝葉斯(Bayes)分類,是基于圖像統(tǒng)計的監(jiān)督分類法,也是典型的和應(yīng)用最廣的監(jiān)督分類方法.它建立在Bayes準(zhǔn)則的基礎(chǔ)上,偏重于集群分布的統(tǒng)計特性,分類原理是假定訓(xùn)練樣本數(shù)據(jù)在光譜空間的分布是服從高
4、斯正態(tài)分布規(guī)律的,做出樣本的概率密度等值線,確定分類,然后通過計算標(biāo)本(像元)屬于各組(類)的概率,將標(biāo)本歸屬于概率最大的一組.用最大似然法分類,具體分為三步:首先確定各類的訓(xùn)練樣本,再根據(jù)訓(xùn)練樣本計算各類的統(tǒng)計特征值,建立分類判別函數(shù),最后逐點掃描影像各像元,將像元特征向量代入判別函數(shù),求出其屬于各類的概率,將待判斷像元歸屬于最大判別函數(shù)值的一組。2.2最大釋然分類算法的調(diào)試#include#include#include#include#include5、omanip.h>constfloatPI=3.1415;floattrain1[60][3],train2[60][3],train3[60][3],train4[60][3];//存各類訓(xùn)練樣本floatm1[3],m2[3],m3[3],m4[3],c1[3][3],c2[3][3],c3[3][3],c4[3][3];//各類均值向量及協(xié)方差矩陣floatp=0.25;//先驗概率floattest[240][11];//檢驗樣本各列分別存放:分類前類別,行號,列號,一波段灰度,二波段灰度,三波段灰度,分類后類別floata1,a2
6、,a3,a4;//公式中常數(shù)項;floatqq,qq1,qq2,qq3,qq4;//分類精度floatk;//kappa值intq[4][4];//混淆矩陣floata[4][4];//精度指標(biāo)矩陣各列分別為生產(chǎn)者精度漏分誤差//用戶精度錯分誤差intmain(){voidgetdata1(char*filename);voidgetdata2(char*filename);voidcompute(floattrain[60][3],floatm[3],floatc[3][3],float*a);floatidentify(floatm[3
7、],floatc[3][3],floata,floatband1,floatband2,floatband3);intclassify(floatp1,floatp2,floatp3,floatp4);voidtesting();voidaccuracy(floatp[4][4]);voidoutput(char*filename);voidoutput1(char*filename);getdata1("05training.txt");//存放的是訓(xùn)練樣本三個波段的灰度值getdata2("05testing.txt");//檢驗樣本行
8、號列號類別代碼三個波段的灰度值compute(train1,m1,c1,&a1);//計算各類均值向量及協(xié)方差矩陣compute(train2,m2,c2,&a2);comput