1. 程式人生 > >【技術類】Landsat 7 ETM+影像條帶去除妙招

【技術類】Landsat 7 ETM+影像條帶去除妙招

      使用過Landsat-7 ETM+影像資料的童鞋,你們是否因為影像的資料條帶丟失所困擾呢?資料條帶丟失也就是我們通常說的壞條帶問題,遇到這種資料很讓人頭疼。

圖:原始影像

      壞條帶的由來:2003年5月31日,Landsat-7ETM+機載掃描行校正器(SLC) 故障,導致此後獲取的影像出現了資料條帶丟失,嚴重影響了Landsat ETM遙感影像的使用。此後Landsat 7 ETM SLC-on是指2003.5.31日Landsat 7SLC故障之前的資料產品,Landsat 7 ETMSLC-OFF則是故障之後的資料產品。

      壞條帶的修復:部分學者開展了條帶受損修復研究,一些遙感影象處理軟體可以實現條帶修復,如ENVI已有相應外掛,利用掩膜通過插值方法修補缺失的條帶。

今天主要向大家介紹利用ArcGIS的柵格函式實現Landsat-7 ETM+的條帶修復。

      條帶修復實現步驟

    (1)    載入影像資料:通過catalog視窗實現影像載入

     展開柵格產品 圖示,將多光譜(下圖紅框中的資料)影像拖拽至影像視窗。

圖:柵格產品顯示影像資料

    (2)    進入影像屬性視窗:展開柵格函式處理鏈

     Table Of Contents——>Layers圖層——>右鍵影像——>Properties——>Functions選項,開啟影像屬性視窗函式選項。

 

圖:柵格函式面板

    (3)    插入Mask Function:設定影像條帶為無效值

      進行如下引數設定:

圖:MaskFunction函式設定

      這裡有幾個引數需要注意一下:

      NoData Interpretation:NoData值的設定

下拉框裡有“Any”和“All”兩個選項,預設選項是“Any”,這也是首選項。如果選擇了“All”,那就意味著一景影像的所有波段的Nodata值都位於相同的像元,做掩膜運算時只會把具有這些特性的像元設定為0值。而“Any”,則會把所有波段上的Nodata值都設定為0值。很明顯,前者的要求比較苛刻,可能會遺漏一些零值的設定,所以通常此處設為“Any”。

      NoDataValues:無效值的設定

NoData設定為0。

    (4)    插入statistics Function:利用領域統計計算,去除無效值

引數設定如下:

圖:統計引數設定

      這裡有兩個引數注意一下:

     Type:領域統計方法

  • Minimum—統計領域範圍內各像元的最小值;
  • Maximum—統計領域範圍內各像元的最大值;
  • Mean—統計領域範圍內各像元的中值;
  • Standard Deviation—統計領域範圍內各像元的中方差;

     預設型別是“Mean”,通常此種方法能得到較理想的結果。可根據影像具體情況進行設定。

Neighborhood Settings:領域行列數設定

根據條帶的行列數進行該引數的設定,該值無上限。但需要注意的是,如果數值偏大,統計值計算的速度會變慢,並且參與統計的行列數過多,可能會導致影像變得模糊起來

Fill NoData pixel values only,當進行壞線去除時,這個引數需要選中,表示只進行無效值的填充。


圖:最終結果

圖:細節圖

      通過以上幾步,即可實現影像壞線去除。利用ArcGIS實時處理技術,可以瞬時得到處理後的影像,如果對結果不滿意,可以適當的進行引數修改。

      整個壞線去除的思路為:設定壞線處的無效值為0值,利用Mask Function進行掩膜運算;對於0值的區域,利用領域統計演算法去除這些無效值。

      想動手試試整個壞線去除流程嗎?如果你手中有這類資料不妨動手一試。這裡也提供了一景壞的比較嚴重的測試資料鏈接: http://pan.baidu.com/s/1kp0L5  密碼: pi35       還等什麼,快點行動吧~