1. 程式人生 > >IDL實現波段運算DOIT(一)

IDL實現波段運算DOIT(一)

波段運算是把單個或者多個波段影象對應畫素通過相關的運算過程得到新的畫素值的過程。

波段運算操作函式和運算子包括:

    基本運算:加(+)、減(-)、乘(×)、除(÷)

  波段運算功能可作用於單個或者兩個柵格影象,輸入資料必須滿足以下條件:

 (1) 輸入資料必須為單波段影象;

 (2) 輸入資料必須具有相同的空間解析度;

 (3) 輸入資料的空間範圍必須有交集。

  主要步驟:

   1.讀取預處理後的影像:

     ENVI_OPEN_FILE,input,r_fid=fid
     ENVI_FILE_QUERY,fid,dims=dims

   2.設定運算規則(以高分資料為例,提取水體):

    t_fid=[fid,fid]
    pos=[1,3]
    exp='(float(b1)-float(b3))/(float(b1)+float(b3))'

    3.輸出結果:

      ENVI_DOIT,'math_doit',fid=t_fid,exp=exp,pos=pos,out_name=out_name1,dims=dims,r_fid=r_fid

     4.效果: