◎ 住房和城鄉建設部信息中心 熊立創
中國科學院遙感應用研究所 張 寧
IDL(Interactive Data Language)和ENVI都是美國ITT Visual Information Solutions公司的旗艦產品。IDL是一種面向對象的跨平臺開發語言,具備語法簡單、處理矩陣能力強等特點,是很多科研人員做數據分析、圖像處理和可視化的首選工具;ENVI(The Environment for Visualizing Images)是一套使用IDL語言開發的,專門用于遙感影像數據處理和信息提取的工具化軟件,目前已經廣泛應用于環保、氣象、礦產勘探和農業等諸多領域。
本文主要是利用IDL語言和ENVI軟件提供的二次開發接口,編寫基于高分遙感數據的城鎮污水處理設施提取工具。
基于高分遙感數據的標準和樣例數據,利用IDL語言和ENVI軟件提供的二次開發接口,開發城鎮污水處理設施提取工具,實現城鎮污水處理設施的自動識別和提取,
提取工具應結合高分遙感數據的生產標準,利用樣例數據,實現城鎮污水處理設施的自動識別,結合人工目視解譯對提取初步成果進行篩選,并就提取對象追加屬性信息。
應具備基本的文件操作和地圖操作,包括加載矢量數據、影像數據、新建工程、地圖瀏覽、地圖縮放、波段選擇等常用功能。
提供參數設置功能,方便用戶可以對提取、融合和識別算法的關鍵屬性進行調整,以測試不同參數對提取結果的影響效果。
提供算法選擇功能,方便用戶對提取算法、融合算法進行選擇,以檢驗不同算法、不同組合對提取結果的影響效果。
提供矢量編輯功能,由于算法和參數對于不同設施類型的提取精度不同,用戶可以對初步的提取成果進行簡單篩選,剔除個別錯誤圖斑,并結合業務知識,就提取結果追加設施類型、所屬水廠等屬性信息。
ENVI提供了二次開發調用接口,方便進行批處理調用和搭建業務化應用平臺。“ENVI_FX_SEGMENTONLY_DOIT” 是調用ENVI函數來進行圖像分割的函數。需要輸入一些基本的參數,如下表1所示:
特征提取算法的流程圖如下圖所示:

表1 分割函數參數說明

圖1 特征提取流程圖
其關鍵步驟包括:
第一,用戶需要指定的屬性值參數(表2)范圍(值域),但一般不可能將全部屬性值都賦值,因此我們剔除掉用戶未指定的(即最大值和最小值都為0),以及不合理的值(即屬性值的最小值大于等于最大值),由此可以得到有效屬性值參數和值域。以此為標準,在輸入的矢量數據中進行篩選,得到了有效的對象矢量。
第二,對有效的對象矢量進行聚簇處理。計算每個有效對象周邊一定范圍之內的有效對象個數,該范圍由參數radius_search來指定。以每個有效對象為中心都可以組成一個的數據簇,將其定義成聚簇的對象矢量。
第三,從聚簇的對象矢量中找到最密集數據簇,如果最密集數據簇中對象的個數大于1,那么縮小radius_search,再重復進行聚簇處理的過程,直到最密集數據簇中對象的個數等于1。將最密集數據簇中所有的對象矢量定義為目標對象矢量,認為這些地物對象是污水處理廠中的全部或一部分。
第四,如果污水處理廠的個數(num_factory)大于1個,就要重復第二步和第三步,在重復以上步驟之前,要從有效對象矢量數據中刪除掉已搜索到的目標對象矢量。最終我們得到了目標探測結果。
圖像分割后得到的矢量數據是地物特征提取的基礎,分割后的矢量數據包含了豐富的光譜、空間和紋理信息,通過對提取對象的分析和反復提取試驗,設置適宜的提取參數,直接影響識別的準確度。
經驗證,在提取過程中加入提取范圍內城鎮污水處理廠的一些經驗參數,將有效提高提取的效率,例如:num_factory(該影像范圍內污水處理廠的大致個數)、radius_search(污水處理廠的大致半徑),這些經驗參數可以從現有“全國城鎮污水處理信息系統”中獲取。

表2 提取參數列表