王偉軒
(西北有色勘測工程有限責任公司珠海分公司,廣東 珠海519000)
遙感影像是可以通過對地表攝影或掃描獲得,分為光學(xué)成像和掃描影像。 遙感可獲取大范圍數(shù)據(jù)資料,獲取信息的速度快、周期短,而且獲取信息還具有受條件限制少、手段多、信息量大等優(yōu)點。 隨著遙感技術(shù)的發(fā)展, 人們開始利用遙感技術(shù)對水資源進行監(jiān)測保護、水邊線提取等。高分辨率圖像采集技術(shù)的成熟使遙感技術(shù)從最初的數(shù)據(jù)定性分析發(fā)展到了定位識別和定量處理相結(jié)合的階段[1]。 隨著遙感影像分辨率越來越高,影像上地物紋理越來越清晰,遙感影像被越來越廣范的應(yīng)用于地物特征提?。?]。而水邊線是水陸交界線, 是遙感影像上重要的特征線[3-4]。 如何從遙感影像上快速準確的提取水邊線,成為國內(nèi)外學(xué)者的研究熱點。
水邊線的提取方法主要有閾值分割法、 邊緣檢測法、主動輪廓法、監(jiān)督分類法、面向?qū)ο蠓ǖ?。這些算法是通過閾值設(shè)置, 較強的邊緣特征等進行水邊線的提取, 但對于弱水邊線的提取則并不能達到預(yù)期效果。
漫水填充算法是一種用特定的顏色填充聯(lián)通的區(qū)域,以一個像素點出發(fā),以此向周邊的像素點擴充著色,直到圖形的邊界,將水邊線區(qū)域全部填充上顏色,然后提取或分離出填充的水邊線部分[5]。
漫水填充算法最常見的有四鄰域像素填充法,八鄰域填充法。 本次選用四鄰域填充算法進行遙感影像水邊線的提取。 四鄰填充法的原理是先根據(jù)已知像素點p(x,y)的上下左右四個臨近像素點,如果沒有被填充,則填充它們,然后對找出的著四個臨近像素點再進行尋找它們各自的四鄰域像素, 直到封閉區(qū)域完全被新顏色填充。 利用一個種子點,然后種子點附近的相似點被填充為同一個顏色,以此來編輯周圍的一片區(qū)域。四鄰域填充算法是不考慮對角線方向的節(jié)點[4]。
圖1 四鄰域像素填充示意圖
環(huán)境與災(zāi)害監(jiān)測小衛(wèi)星星座由2顆光學(xué)小衛(wèi)星(HJ-AB)和1顆合成孔徑雷達小衛(wèi)星(HJ-1C)組成的“2+1”星座,簡稱“環(huán)境一號”,時間分辨率為2d,具有較高的時間分辨率和30m的空間分辨率,該衛(wèi)星搭載了CCD相機和超光譜成像儀, 本次遙感影像從中國資源衛(wèi)星應(yīng)用中心獲取的1景環(huán)境衛(wèi)星遙感影像,成像時間為北京時間2009年10月6日3點1分54秒。
本次將江蘇太湖周邊區(qū)域作為研究區(qū)域, 太湖面積2338km2,湖泊均深1.87m,最深2.7m,是典型的大型內(nèi)陸淺水湖泊。 太湖周圍還分布著其他大大小小的湖泊, 對于本次水邊線提取能夠提供充足的水域數(shù)據(jù)。 選用的影像盡量避免水域上空存在大量的云層或遮擋物,選擇比較清晰的影像。
由于影像在剛獲取時會因為大氣、 相機等因素存在有畸變,大氣誤差等,所以影像在進行水邊線提取前需要先進行預(yù)處理[6]。 遙感數(shù)據(jù)預(yù)處理包括了輻射定標、幾何校正、大氣校正、影像裁剪等步驟[7-9]。遙感影像的預(yù)處理選用ENVI遙感數(shù)據(jù)處理軟件,該軟件是針對遙感影像數(shù)據(jù)預(yù)處理及信息提取等的專業(yè)軟件, 利用ENVI軟件完成有關(guān)影像的預(yù)處理工作。 經(jīng)過預(yù)處理之后的影像如圖3。
圖3中的影像為真彩色,通過色彩的改變將太湖水域特征凸顯出來,從圖中可以看出,不同地物在影像中反映的特征不同,色彩也存在差異,不同特征地物的突出更有利于漫水填充算法根據(jù)像素進行填充。
圖2 環(huán)境衛(wèi)星影像
圖3 環(huán)境影像校正
通過使用Python軟件建立漫水填充算法模型,根據(jù)影像中的水域特征, 通過選取種子點與整個圖像的像素值的最大負差值和最大的正差值, 利用差值進行水域的填充。 種子點的選擇應(yīng)盡量滿足整個水域的參數(shù)特征, 這樣才能夠盡量將整個太湖水域填充完整。 當鄰近像素點位于給定范圍內(nèi)或者在原始Seed Point像素值范圍內(nèi)時,F(xiàn)lood Fill函數(shù)就會為這個點填充顏色。 因為部分水域在影像上與一些其他地物反映出的特征較相近, 雖然通過將影像改為真彩色可以降低干擾因素,但依然會有一些噪音干擾。當利用建立的漫水填充算法獲取的太湖填充影像如圖4。
圖4中有一些位置比較破碎, 是因為周圍地物反映的光譜及特征與水域比較接近導(dǎo)致的。 利用漫水填充算法提取的水域為面,需要再經(jīng)過后處理獲取邊線數(shù)據(jù)。 本次使用ArcGIS地理信息軟件中的Feature Line 功能將漫水填充算法提取的水域面轉(zhuǎn)換成線, 最后獲取太湖水邊線數(shù)據(jù),提取的水邊線的效果如圖5,經(jīng)統(tǒng)計填充的水域面積為2314.08km2。
圖4 漫水填充算法填充太湖效果
圖5 太湖水邊線提取效果
遙感影像分辨率較高,使得地物特征較明顯,但同時也會使得除研究區(qū)域之外大大增加了干擾因素。 圖6可以看出,洪水填充算法不僅對水陸邊界明顯的位置提取效果較好, 而且對范圍小的水陸邊線依然可以精準地提取出來, 但水域上的云層也被作為水邊線被提取出來,這就會增大提取邊線的誤差。
圖6 太湖水邊線與影像疊加效果
本次通過選取提取海岸線與基線的差異,分析漫水填充算法在不同類型海岸水邊線提取的精度, 方法是通過在提取水邊線上等間距的選取足夠多的驗證點,逐點計算到真實海岸線的距離,該距離為歐式距離[5]。 歐式距離在數(shù)字圖像處理中的應(yīng)用范圍比較廣泛,尤其對影像骨架的提取,是一個很好的參照, 精度驗證選用計算均方根誤差RMSE來進行評定。
式中 n為樣本總點數(shù);Dn為第n個點到真實水邊線的距離。
本次從提取水邊線數(shù)據(jù)中選取8個驗證點進行精度驗證,選取驗證點坐標如表1。
表1 水邊線驗證點坐標統(tǒng)計
通過表格中的坐標數(shù)據(jù), 利用歐氏距離公式計算得出本次提取水邊線的均方根誤差為11.69,誤差在3個像素之內(nèi),該誤差滿足岸線規(guī)程要求,可以用于實際應(yīng)用。
本次通過使用Python軟件建立了漫水填充算法模型, 利用該模型結(jié)合ArcGIS軟件成功提取了天湖水邊線。 通過選取驗證點坐標對提取水邊線進行驗證,結(jié)果顯示提取水邊線精度在3個像元之內(nèi)。 雖然該方法模型處理影像速度快, 對弱水邊線也能進行很好的提取, 但是也會容易將水域上方的云層等誤認為陸地提取其邊線作為水邊線,增大了提取誤差。之后還需對影像去云等處理,繼續(xù)改善算法模型,從而更高精度地提取水邊線。