一種高分辨率遙感影像中的建筑物快速提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于高分辨率遙感影像信息提取領(lǐng)域,設(shè)及對(duì)高分辨遙感影像的中人造地 物的識(shí)別和提取,特別是設(shè)及對(duì)那些邊緣由直線、弧線組成的建筑物提取的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著遙感影像的分辨率不斷提高,影像中的信息更加復(fù)雜,地物的紋理形狀信息 更加多樣化,而建筑物在大小形狀上各有區(qū)別,再加上周邊其他地物的混淆、陰影的干擾等 原因容易造成在影像上建筑物形狀的變化,因此要對(duì)建筑物的形狀做精確的描述是件非常 困難的事情。近年來,許多研究人員在利用遙感影像進(jìn)行建筑物提取方面作了大量研究工 作,各種新方法、新理論層出不窮,其中基于建筑物輪廓大多是由矩形或是弧線構(gòu)成的特 點(diǎn),通過特定處理方法,尋找圖像中的邊緣、線條、角點(diǎn)等特征來識(shí)別建筑物是主流研究方 向之一。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提供了一種高分辨率遙感影像中的建筑物快速提取方法,可快速尋找圖像 中的邊緣、線條、角點(diǎn)等特征來識(shí)別建筑物;
[0004] 一種高分辨率遙感影像中的建筑物快速提取方法,其中,包括如下步驟:
[0005] 步驟1 )、讀取遙感影像,提取灰度圖像:
[0006] 遙感圖像中每個(gè)像素點(diǎn)的色彩具有R、G、B=個(gè)分量,P(r,g,b)代表一像素點(diǎn),其中 r代表該像素點(diǎn)的R分量的值,g代表該像素點(diǎn)的G分量的值,b代表該像素點(diǎn)的B分量的值;
[0007] 灰度函數(shù)H(P)的值表示像素點(diǎn)P(r,g,b)的灰度值:
[000引 H(P)=0.3r+0.59g+0.11b 式(1)
[0009] 用式(1)按照從左到右、從上到下的順序依次掃描遙感圖像中的每個(gè)像素點(diǎn),得到 每個(gè)像素點(diǎn)的灰度值,按照式(1)掃描時(shí)同樣的順序組成第一灰度圖像;
[0010] 步驟2)、使用高斯濾波對(duì)第一灰度圖像進(jìn)行降噪處理:
[0011] 2曰)、計(jì)算大小為(2k+l)X(2k+l)的高斯模板U(x,y):
[0012]
[OOK]其中,k為正整數(shù)且kM,x,y分別代表高斯模板中元素的橫坐標(biāo)和縱坐標(biāo);〇>0, 為第一灰度圖像的平滑程度參數(shù);
[0014]化)、取k = 1,大小為3 X 3的高斯模板U(X,y)中9個(gè)元素的模板值分別為mi、m2曲、 m4、m 已、m6、m7、m8、m9;
[001引第一灰度圖像中,除左、上、右、下四條寬度為一像素的邊緣外任一像素點(diǎn)P點(diǎn)的8 鄰像素,即緊鄰像素點(diǎn)P的左上、上、右上、左、右、左下、下、右下8個(gè)方向上的像素;像素點(diǎn)P 與8鄰像素的灰度值按照第一灰度圖像中從左至右、從上到下的順序依次為gl、g2、g3、g4、g5、 邑6、g7、g8、g9;
[0016] 用該高斯模板U(x,y)按照從左到右、從上到下的順序依次掃描第一灰度圖像中除 左、上、右、下四條寬度為一像素的邊緣外的每一個(gè)像素 P,各像素點(diǎn)P由高斯模板U(x,y)做 高斯濾波的方法見式(3);
[0017]
式(3)
[0018] 所述的化表示W(wǎng)高斯模板U(m,n)做高斯濾波后所到的像素點(diǎn)P的灰度值;S為中間 變量,表示像素點(diǎn)P和其8鄰像素的灰度值的總和;
[0019] 按照式(3)依從左到右、從上到下的順序?qū)Φ谝换叶葓D像中像素點(diǎn)P進(jìn)行依次掃描 時(shí),對(duì)當(dāng)前所掃描的像素點(diǎn)P由高斯模板U(x,y)所確定的鄰域內(nèi)所有像素的加權(quán)平均灰度 值替代當(dāng)前像素點(diǎn)P的灰度值,掃描結(jié)束后得到第二灰度圖像;
[0020] 步驟3)、使用基于化SU方法的自適應(yīng)化nny算法提取圖像中的邊緣;
[0021] 31):用一階偏導(dǎo)的有限差分來計(jì)算梯度的幅值和方向;
[0022] 采用化nny算法,其中所采用的卷積模板為式(4);
[0023]
式(4)
[0024] 其中Mi、M2分別為第二灰度圖像x、y軸方向上的一階偏導(dǎo)數(shù)矩陣,依照所述一階偏 導(dǎo)數(shù)矩陣Mi、M2按照從左到右、從上到下的順序依次掃描第二灰度圖像中的每一個(gè)像素點(diǎn), 得到每個(gè)像素點(diǎn)X、y方向上的梯度幅值Gx、Gy:
[0025] Gx=[f(x+l,y)-f(x,y)+f(x+l,y+l)-f(x,y+l)]/2 式巧)
[0026] Gy=[f(x,y)-f(x,y+l)+f(x+l,y)-f(x+l,y+l)]/2 式(6)
[0027] X、y表示所處理像素點(diǎn)的橫坐標(biāo)、縱坐標(biāo)值,f(x,y)表示第二灰度圖像中坐標(biāo)為 (x,y)的像素點(diǎn)的灰度值,該像素點(diǎn)的梯度幅值G(x,y)和方向角0(x,y)由式(7)和式(8)處 理得到;
[002引 式(7)
[0029] 式(8)
[0030] 由式(7)和式(8)對(duì)第二灰度圖像中每一個(gè)像素點(diǎn)按照從左到右、從上到下的順序 依次掃描,得到第二灰度圖像中每一個(gè)像素點(diǎn)梯度幅值和方向角;
[0031] 32):非極大值抑制;
[0032] 經(jīng)過上述步驟31)的處理,得到了每個(gè)像素的梯度幅值G(x,y)和方向角0(x,y),為 了得到最真實(shí)的邊緣,須保留每個(gè)像素點(diǎn)在其梯度方向上的極大值,而刪掉當(dāng)前像素點(diǎn)梯 度方向上的其他值,即非極大值抑制;對(duì)第二灰度圖像中每個(gè)像素點(diǎn)按照從左到右、從上到 下的順序進(jìn)行非極大值抑制,即處理得到第=灰度圖像,第=灰度圖像顯示了遙感影像中 建筑物影像的邊緣;
[0033] 非極大值抑制的具體處理方法如下;
[0034]判斷是否是極大值,需要根據(jù)當(dāng)前掃描像素點(diǎn)梯度方向所在的區(qū)間,在X軸和y軸 方向分別進(jìn)行插值計(jì)算,然后再進(jìn)行比較,W找到最大值,梯度方向所在的區(qū)間指的是梯度 方向a所在的角度范圍,插值是為了更合理地判斷當(dāng)前像素點(diǎn)的梯度方向:
變量; 令 ,令 ,令
[0039] 其中,g5為當(dāng)前處理像素的梯度幅值,gn(l含n含4,6含n含9)表示8鄰像素的梯度幅 值,Gp表示梯度方向上前一個(gè)像素的梯度幅值,Gn表示梯度方向上后一個(gè)像素的梯度幅值;
[0040] 當(dāng)梯度方向a的值在上述相應(yīng)的區(qū)間內(nèi)時(shí),當(dāng)且僅當(dāng)目前所處理像素的梯度幅值 邑5大于前述①~④中各插值方法計(jì)算出的Gp和Gn時(shí),g5為極大值,也就是邊緣點(diǎn);
[0041] 33)、計(jì)算最優(yōu)高低闊值
[0042] 讀取第=灰度圖像的寬度為W像素、高度為H像素,則第=灰度圖像中的像素總數(shù)N 為:
[004;3] N=WXH 式(9)
[0044] 設(shè)第S灰度圖像中每一像素的梯度幅值G ( X,y )的范圍為[0,G ],
,讀取每一像素的梯度幅值G(x,y),找梯度幅值等于確定值為i的像素, 得到梯度幅值等于i的像素個(gè)數(shù)為Ni個(gè),ie[0,G];設(shè)Tl為最優(yōu)低闊值,T2為最優(yōu)高闊值;
[0045] 非邊緣點(diǎn)總個(gè)數(shù)Ni(Ti,T2)為:
[0046]
式(10)
[0047] 其中,Ni是梯度幅值等于i的像素的個(gè)數(shù);
[004引非邊緣點(diǎn)所占比例值01 (Tl,T2)為:
[0049]
式(11)
[0050] 潛在邊緣點(diǎn)總個(gè)數(shù)化(Tl,T2)為:
[0化1]
式(12)
[00對(duì)潛在邊緣點(diǎn)所占比例值CO 2 (Tl,T2)為:
[0053]
式(13)
[0054] 真邊緣點(diǎn)總個(gè)數(shù)N3(Ti,T2)為:
[0055]
式(14)
[0化6] 真邊緣點(diǎn)所占比例值CO 3 (Tl,T2 )為:
[0化7]
式(15)
[005引非邊緣點(diǎn)的平均梯度iii(Ti,T2)、潛在邊緣點(diǎn)的平均梯度ii2(Ti,T2)和真邊緣點(diǎn)的平 均梯度化(Tl, T2)如下:
[0化9]
式(16)
[0060]第S灰度圖像總的梯度均值iis為:
[006。 Ws = Wi 化,T2)?i(Ti,T2)+化(Ti,T2)?2(Ti,T2)+ii3(Ti,T2)?3(Ti,T2)式(17)
[0062] 非邊緣點(diǎn)、潛在邊緣點(diǎn)和真邊緣點(diǎn)運(yùn)S類像素的類間方差O2 (Tl,T2)為:
[0063] 〇2(Ti,T2)=?i(Ti,T2)(yi(Ti,T2)-ys)2+?2(Ti,T2)(y2(Ti,T2)-ys)2+?3(Ti,T2)(ii3 (Tl,T2)-iiS)2
[0064] 式(18)
[0065] 使類間方差〇2(Ti,T2)在[1,G-1]范圍內(nèi)依次取值,當(dāng)類間方差〇2(Ti,T2)為最大值 時(shí),此時(shí)的Ti、T2的值即為最優(yōu)低闊值Tl和最優(yōu)高闊值T2;
[0066] 34):用雙闊值算法檢測(cè)和邊緣連接;
[0067] 根據(jù)上一步33)中得到的最優(yōu)低闊值Tl和最優(yōu)高闊值T2,對(duì)第=灰度圖像進(jìn)行過 濾,像素點(diǎn)的梯度幅值如果大于高闊值則認(rèn)為當(dāng)前像素點(diǎn)必然是邊緣點(diǎn),即真邊緣點(diǎn),如果 當(dāng)前處理像素點(diǎn)的梯度幅值小于低闊值,則認(rèn)為當(dāng)前像素點(diǎn)必然不是邊緣點(diǎn);處于低闊值 和高闊值之間的像素點(diǎn)是潛在的邊緣點(diǎn),即假邊緣;將第=灰度圖像根據(jù)高闊值過濾得到 的邊緣點(diǎn)連接成輪廓,當(dāng)?shù)竭_(dá)輪廓的端點(diǎn)時(shí),在端點(diǎn)的8鄰點(diǎn)尋找潛在的邊緣點(diǎn),再根據(jù)所 找到的潛在的邊緣點(diǎn),在其8鄰點(diǎn)中循環(huán)處理收集新的邊緣點(diǎn),如此處理整個(gè)第=灰度圖 像,直至邊緣閉合,得到第四灰度圖像;
[006引步驟4)、基于Freeman鏈碼的直線提取方法:
[0069] 單條直線L與Y軸的夾角0范圍為0~31,共有八種情況的直線L
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078] 此外還有兩條直線有交叉的情況;
[0079] 設(shè)Pd表示左右均無目標(biāo)像素的單像素;
[0080] Ps表示連續(xù)像素個(gè)數(shù)含2的像素組;
[0081 ]整型常量R表示目標(biāo)之間可W重疊的像素?cái)?shù);
[0082] 整型常量L表示一條直線內(nèi)不包含重疊像素的最少像素?cái)?shù);
[0083] 整型變量W(Po)表示單像素 P。在行(列)內(nèi)的位置,行內(nèi)順序?yàn)閺淖笾劣?,列?nèi)順序 為從上到下;
[0084] 整型變量S(Ps)表示Ps在行(列)內(nèi)的起始位置,行內(nèi)順序?yàn)閺淖笾劣?,列?nèi)順序?yàn)?從上到下;
[0085] 整型變量E(Ps)表示Ps在行(列)內(nèi)的終止位置;
[0086] 數(shù)組Ax用于存儲(chǔ)X軸方向上的所有Po和Ps信息,結(jié)構(gòu)包含:目標(biāo)類型(P?;騊s)、單像 素位置;
[0087] 數(shù)組Ay用于存儲(chǔ)y軸方向上的所有Po和Ps信息,結(jié)構(gòu)包含:目標(biāo)類型(P?;騊s)、單像 素位置、像素組在列內(nèi)的起始點(diǎn)位置;
[008引整型變量R(Po)、R(Ps)分別表示單像素 P。、像素組Ps在數(shù)組Ax內(nèi)的行號(hào);
[0089] 整型變量C(P。)、C(Ps)分別表示p。、Ps在Ay內(nèi)的列號(hào);
[0090] 數(shù)組AL表示存儲(chǔ)一條直線內(nèi)的所有Po和Ps信息;
[0091] 數(shù)組(;L用于W(0,p)的形式存儲(chǔ)檢索到的所有直線信息;
[0092] 第四灰度圖像中的直線具備W下特點(diǎn):
[0093] (1)直線都是由Po和Ps組成;
[0094] 間目角越接近一或竿,其線條中的Po和Ps越多;目角等于7或竿時(shí),直線僅由Po組 4 4 4 4 成;9角越接近O、或n,直線中Po和Ps越少,但Ps內(nèi)的像素個(gè)數(shù)越多;9角等于O、或加寸,直 線僅由Ps組成;
[0095] 間交叉的直線,共用其中一個(gè)Po或Ps;
[0096] (4)直線都是由Po和Ps同時(shí)沿X軸、y軸兩個(gè)方向連接形成;X軸方向上直線的長(zhǎng)度逐 漸增加,y軸方向上逐漸產(chǎn)生一定的斜率,或者,y軸方向上直線的長(zhǎng)度逐漸增加,X軸方向上 逐漸產(chǎn)生一定的斜率;
[0097] 間當(dāng)0角為0、!或加寸,直線僅包含一個(gè)化;
[0098] 令R=I, W檢索;< 9 ^的直線,第四灰度圖像中的直線提取通過下述步驟 4 4 實(shí)現(xiàn):
[0099] (1)從第四灰度圖像的左上角像素開始,按照逐行、逐列的順序,即從左到右、從上 到下的順序,依次掃描第四灰度圖像中的每一個(gè)像素點(diǎn),來檢索第四灰度圖像中的目標(biāo)點(diǎn) (邊緣點(diǎn));提取到的結(jié)果保存在Ax和Ay中;
[0100] 間取出Ax中的一個(gè)目標(biāo)At,將At插入數(shù)組AL,其中,第一次抽取的目標(biāo)At是隨機(jī)抽 取,W后抽取依照下步即第(3)步所示,將抽取的目標(biāo)At按照抽取的先后順序插入數(shù)組Aレ
[0101] 間沿X軸負(fù)方向,查找At的下一個(gè)目標(biāo)At+i,At+i必須同時(shí)符合W下條件:
[0102] ① R(A"i)=R(At)+l;
[0103] ② At 為 P。時(shí)(圖 14):
[0104] I:如果At+功單像素,W(Aw) =W(At)-R;
[0105] n :如果At+功像素組,W(At)-R 鄒(At+i) < W(At);
[0106] ③At為像素組時(shí)(圖15):
[0107] I:如果At+功單像素,W(Aw) =S(At)-R;