王 悅,安英玉,王文玲,鞠 洋
(黑龍江省人民政府人工降雨辦公室,黑龍江 哈爾濱 150030)
云在影響全球水循環(huán)和熱平衡的過程當中扮演著十分重要的角色。 隨著社會的日益發(fā)展, 云對航空、軍事、生活的影響也越來越受到大家關注。
近些年,由于電荷耦合元件等硬件技術的飛速發(fā)展,以及數(shù)字圖像處理技術的日益完善,地基測云儀器的精度不斷提升。 目前, 全天空成像儀(TSI,Total Sky Imager) 是國際上具有典型意義的地基測云儀器,可以實現(xiàn)白天全天空云量的持續(xù)自動監(jiān)測,時空分辨率較高,得到的云量計算結果更精確。 但在進行云圖處理時會出現(xiàn)多種遮擋的情況, 因此在進行云圖解算和研究之前需要對觀測數(shù)據進行預處理[1]。 本文就云圖的預處理的方法進行研究, 剔除非云圖的成像, 對提取云區(qū)的圖像及云圖的自動識別具有重要意義。
利用網站上下載大量的云圖, 作為本次研究過程中的云圖來源。 實驗中所用的云圖是由美國Yankee 環(huán)境系統(tǒng)公司開發(fā)研制出的總天空成像儀TSI-880 拍攝的,照片像素為352 x 288/24bit JPEG。
首先利用Radon 變換檢測直線和連通域填充方法剔除遮陽桿對云區(qū)識別的干擾, 防止由于遮陽桿對太陽的反射, 在識別時將那部分亮點區(qū)域誤認為是云區(qū), 使之后提取云區(qū)的時候出現(xiàn)云區(qū)明顯比實際多的誤差效果。 此外, 地物屬于云圖上多余的部分,而且部分區(qū)域和云區(qū)顏色十分接近,也是造成云區(qū)識別的一大重要干擾, 所以第二步運用模板替換的方法剔除地物的干擾。
2.2.1 剔除遮陽桿影響的方法
大多數(shù)沒有太陽光影響的TSI 云圖,因為遮陽桿在云圖中表現(xiàn)為黑色與白色的云區(qū)差別比較明顯,在提取云區(qū)時黑色的遮陽桿和藍色的天空會直接一起忽略。 然而在極少情況下,利用TSI 獲取的云圖在遮陽桿方面干擾太大, 若不進行剔除, 提取出來的云區(qū)會存在比較嚴重的錯誤。 因此選取合適的方法來剔除遮陽桿的影響十分有必要。
剔除遮陽桿的影響,主要采取以下兩種方法,一是Radon 變換檢測直線法,二是連通域填充法[2]。 首先運用Radon 變換檢測直線的方法, 檢測出來遮陽桿在TSI 云圖中的位置, 然后利用連通域填充的方法,將原圖中的遮陽桿所在位置進行填充,得到的即是剔除了遮陽桿對太陽照射影響。
2.2.1.1 Radon 變換檢測直線方法
Radon 變換在二維空間可以用如下公式表示:
式中,D 為整個圖像xy 平面;f(x,y)為在圖像點(x,y)處的灰度;ρ 為坐標原點到直線的距離;θ 為距離與x 軸的夾角;δ 為Dirac 函數(shù)。 它使f(x,y)沿直線ρ=xcosθ+ysinθ 進行積分。 如下圖1 所示。
圖1 Radon 變換定義示意圖
通過Radon 變換的原則,由圖2 可以看出,在原圖2(a)中有5 條直線,分別對應變換域圖2(b)中5個亮點,坐標(ρ,θ,R)分別為:(7,111°,34),(11,111°,29),(-26,90°,19),(-10,81°,19),(-20,0°,15)。 每個亮點代表一條直線,由已知(ρ,θ)根據公式ρ=xcosθ+ysinθ 做出結果如圖2 (c)。 由于沒有起點坐標信息,5條直線橫跨整幅圖像, 不能將線段精確定位, 這是Radon 變換的缺陷[3]。 圖2(d)、(e)、(f)分別為Radon 變換在相交折線段中的檢測過程。
圖2 Radon 變換直線檢測示例(a)原圖1 (b)RT 變換域(c)結果(d)原圖2 (e)RT 變換域(f)結果
2.2.1.2 連通域填充方法
傳統(tǒng)的連通域填充算法主要分為兩種, 一種是掃描線算法, 該算法是通過確定橫跨區(qū)域的掃描線的覆蓋間隔填充的;一種是種子填充算法,即由確定的位置進行填充至指定的邊界[3]。
掃描線算法是按照掃描線的順序, 計算掃描線與多邊形的相交區(qū)間, 再用顏色顯示這些區(qū)間的象素完成填充。 這些區(qū)間的端點是掃描線與多邊形邊界線的交點, 可以通過計算來獲得要完成這個掃描的轉換過程。 對于一條掃描線填充過程,可以分為四個步驟,即求交、排序、配對和填充。 求交是將多邊形每個邊和掃描線的交點計算出來。 排序是依據X 坐標遞增順序對取得的交點來排序。 配對是利用奇偶配對求出掃描線與多邊形的相交區(qū)間。 填充就是要對各個相交區(qū)間進行填色。
種子填充算法又稱為邊界填充算法。 先給定一個多邊形區(qū)域內的種子點(x,y),從該點開始由內向外找到區(qū)域內的所有像素, 用給定的顏色畫點直到邊界為止。 種子填充算法通常采用八向連通與四向連通2 類算法。 八向連通算法是利用右下、左下、右上、左上、下、上、右、左8 個方向的移動到達區(qū)域中的任意像素點; 四向連通算法是由區(qū)域中的某點開始,利用右、左、下、上4 個方向的移動達到任意一個像素點。
2.2.2 消除其他干擾的方法
2.2.2.1 模板替換方法
在全天空成像儀的云圖中主要有遮陽桿, 晴空和云區(qū), 但是在云圖的周圍還有部分地物雜波和鏡面之外的多余部分(即地物)存在(圖3),因此在消除其他干擾的這一方面, 本論文主要研究的是消除地物干擾的影響。 由于需要的僅僅只是云圖中間含有鏡面的區(qū)域,所以在處理多余部分時,直接運用了模板進行遮蓋處理, 模板如圖4 所示, 黑色為遮蓋部分,白色為非遮蓋部分及本文所需的云圖區(qū)域,通過模板套用可直接將云圖中的多余部分剔除掉。
圖3 一般云圖
圖4 模板
2.2.2.2 提取灰度值方法
除了地物干擾外, 云的邊緣還可能存在部分雜波。 由于邊緣雜波顏色偏暗,比較容易和白色的云區(qū)區(qū)分出來, 所以在處理邊緣雜波時運用了提取灰度值的方法。
在剔除遮陽桿的過程中, 首先運用Radon 變換檢測直線方法檢測出云圖中的遮陽桿邊緣如圖5(a),然后運用檢測直線方法檢測出遮陽桿的兩條邊線,如下圖5(b)。由于檢測出來的遮陽桿兩條直線并不是理想的平行線,因此在進行仿真實驗時,將需要得到的直線設置了斜率之差<5°,和兩條直線之間距離在25-40 的像素。 這樣就可以得到一組平行線,可認為是遮陽桿兩側的邊緣線如圖5(c)。
圖5 Radon 變換檢測直線實現(xiàn)過程(a)邊緣檢測 (b)檢測直線(c)確定遮陽桿邊緣所在直線 (d)將原圖形按照兩條平行線切割
在獲得了遮陽桿的邊緣直線后, 將原圖形按照這兩條直線為邊界進行切割, 然后將直線兩側分別進行邏輯化處理,即是以分割直線為界,一邊為邏輯1,一邊為邏輯0,表現(xiàn)為黑白分明的兩兩交集,然后將其組合即可以得到圖5(d)中的圖1-2,圖5(d)中1-2 的作用是將遮陽桿所在的全部延伸區(qū)域都提取出來,最后填充出遮陽桿。
在圖5(c)中過檢測出的兩條平行線做過中心的垂線,將圖5(d)中的1-2 區(qū)域顯現(xiàn)均分為兩份,這樣就完成了對遮陽桿所在平行區(qū)域的兩分。 再運用連通域填充的方法將垂直線兩側中所有像素點之和較小的那一份進行填充,確定為遮陽桿。
通過以上兩種方法的結合使用, 可以消除遮陽桿對2500 幅云圖的提取影響,對比于前人研究提取云區(qū)的各種效果上和普遍適用性上進步很多。 如圖7,為2017 年8 月21 日的消除遮陽桿前后效果對比圖, 可以明顯看到該方法對云圖中遮陽桿具有較好的消除效果。
圖7 消除遮陽桿前后效果對比(a)遮陽桿干擾較大的云圖(b)不進行處理后提取的云區(qū) (c)處理后提取的云區(qū)
分別采用模板替換法和提取灰度值的方法對云圖中的地物干擾、邊緣雜波進行消除,進而將云區(qū)提取出來。 具體例子如下:
通過以上兩種方法的結合使用, 從圖8 中可以看出,該方法對云圖中地物干擾、邊緣雜波干擾具有較好的消除效果。
圖8 消除遮陽桿和其他干擾的效果對比(a)云圖原圖(b)消除遮陽桿和其他干擾的云圖
本文介紹了TSI 云圖預處理的方法,首先運用了Radon 變換檢測直線和連通域填充方法,消除了遮陽桿的影響,實現(xiàn)了剔除原圖上的亮斑部分;然后運用了模板替換的方法,去掉了TSI 云圖上旋轉鏡面外部的地物雜波干擾。 通過對比分析表明,以上對云圖的處理方法有較好的識別計算效果,對于所有的TSI 云圖均適用。