band math函数_ENVI波段运算(bandmath)运算逻辑及常用运算符详解
最近用ENVI做了下區(qū)域綠化覆蓋度的分析,也算是簡(jiǎn)單應(yīng)用了下ENVI這個(gè)軟件,這篇簡(jiǎn)單介紹下ENVI的波段運(yùn)算的運(yùn)算邏輯和常用的運(yùn)算符。
BandMath工具能夠方便的執(zhí)行圖像中各個(gè)波段的加、減、乘、除、三角函數(shù)、指數(shù)、對(duì)數(shù)等數(shù)學(xué)函數(shù)計(jì)算,也可以使用IDL編寫的函數(shù)。BandMath工具使用函數(shù)都是基于IDL的數(shù)據(jù)組運(yùn)算符。 IDL的數(shù)組運(yùn)算符使用方便且功能強(qiáng)大。它們可以對(duì)圖像中的每一個(gè)像元進(jìn)行單獨(dú)檢驗(yàn)和處理,而且避免了FOR循環(huán)的使用(不允許在波段運(yùn)算中使用)。
數(shù)組運(yùn)算符包含關(guān)系運(yùn)算符(LT、LE、EQ、NE、GE、GT)、Boolean運(yùn)算符(AND、OR、NOT、XOR)和最小值、最大值運(yùn)算符(<、>)。這些特殊的運(yùn)算符對(duì)圖像中的每個(gè)像元同時(shí)進(jìn)行處理,并將結(jié)果返還到與輸入圖像具有相同維數(shù)的圖像中。
例如:要找出所有負(fù)值像元并用值-999代替它們,可以使用如下的波段運(yùn)算表達(dá)式:
(b1 lt 0)*(-999)+(b1 ge 0)* b1
運(yùn)算邏輯
關(guān)系運(yùn)算符對(duì)真值(關(guān)系成立)返回值為1,對(duì)假值(關(guān)系不成立)返回值為0。系統(tǒng)讀取表達(dá)式(b1 lt 0)部分后將返還一個(gè)與b1維數(shù)相同的數(shù)組,其中b1值為負(fù)的區(qū)域返回值為1;其他部分返回值為0,因此在乘以替換值-999時(shí),相當(dāng)于只對(duì)那些滿足條件的像元有影響。第二個(gè)關(guān)系運(yùn)算符(b1 ge 0)是對(duì)第一個(gè)的補(bǔ)充——找出那些值為正或0的像元,乘以它們的初始值,然后再加入替換值后的數(shù)組中。
這個(gè)用法可以擴(kuò)展到兩個(gè)圖像中,比如圖像1中值大于220(有云部分)用圖像2中對(duì)應(yīng)的像素值代替,其余保留圖像1中的值,表達(dá)式就可以寫成:
(b1 gt 220)*b2+(b1 le 220)* b1
類似的使用數(shù)組運(yùn)算符的表達(dá)式為波段運(yùn)算提供了很強(qiáng)的靈活性。
常用運(yùn)算符
下表中描述了BandMath工具中常用的IDL數(shù)組操作函數(shù),詳細(xì)介紹,請(qǐng)參閱《IDL Reference Guide》。種類操作函數(shù)
基本運(yùn)算加(+)、減(-)、乘(*)、除(/)
三角函數(shù)正弦sin(x)、余弦cos(x)、正切tan(x)
雙曲正弦sinh(x)、雙曲余弦cosh(x)、雙曲正切tanh(x)
關(guān)系和邏輯運(yùn)算符小于(LT)、小于等于(LE)、等于(EQ)、不等于(NE)、大于等于(GE)、大于(GT)
AND、OR、NOT、XOR
最小值運(yùn)算符(<)和最大值運(yùn)算符(>)
其他數(shù)學(xué)函數(shù)指數(shù)(^)和自然指數(shù)(exp(x))
自然對(duì)數(shù)(alog(x))
以10為底的對(duì)數(shù)(alog10(x))
整型取整——round(x)、ceil(x)、和floor(x)
平方根(sqrt(x))
絕對(duì)值(abs(x))
個(gè)人郵箱:bigdata0321@163.com
總結(jié)
以上是生活随笔為你收集整理的band math函数_ENVI波段运算(bandmath)运算逻辑及常用运算符详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苏天伦?是谁?
- 下一篇: megacli通过盘符定位物理盘_柴少鹏