一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法
【專利摘要】本發(fā)明公開了一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,只利用機載LiDAR散亂點云數(shù)據(jù)即可提取水體輪廓線的方法,可以應(yīng)用于機載LiADR點云數(shù)據(jù)水體邊緣檢測。本發(fā)明方法簡單易行,執(zhí)行效率高,不利用其他輔助數(shù)據(jù)就能夠直接從機載Lidar點云中獲得水體輪廓線,能夠較為精確和全面的提取出水體。
【專利說明】
-種利用L i DAR點云數(shù)據(jù)提取水體邊緣線的方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種提取水體邊緣線的方法,特別設(shè)及一種利用LiDAR點云數(shù)據(jù)提取 水體邊緣線的方法。
【背景技術(shù)】
[0002] 水是決定濕地存亡的必要條件,利用遙感技術(shù)獲取濕地水體面積對濕地具有重要 指示意義,遙感技術(shù)作為一種新型的空間對地觀測技術(shù),一直被廣泛用于灘涂濕地的動態(tài) 監(jiān)測和資源調(diào)查。但傳統(tǒng)光學(xué)遙感技術(shù)在灘涂水體調(diào)查方面存在數(shù)據(jù)質(zhì)量受天氣狀況影響 嚴(yán)重、夜間無法工作W及植被覆蓋較濃郁區(qū)域光學(xué)遙感不能穿透植被等影響,因而光學(xué)遙 感技術(shù)在濕地應(yīng)用中受到一定限制。
[0003] 機載激光掃描探測系統(tǒng)是一種主動式對地觀測系統(tǒng),具有高可靠性、高分辨率和 高精度等特征,已在諸多領(lǐng)域得到廣泛應(yīng)用,將機載LiDAR技術(shù)應(yīng)用于濕地潛在儲水能力探 測方面具有較大前景,基于散亂點云數(shù)據(jù)的水體輪廓線精確提取則是獲得儲水能力的關(guān)鍵 步驟。目前,利用散亂點云數(shù)據(jù)直接提取出邊界點是邊緣提取算法的主要手段之一。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是提供一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方 法,只利用機載LiDAR散亂點云數(shù)據(jù)即可提取水體輪廓線的方法,可W應(yīng)用于機載LiADR點 云數(shù)據(jù)水體邊緣檢測。
[0005] 本發(fā)明為解決上述技術(shù)問題采用W下技術(shù)方案:
[0006] 本發(fā)明提供一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,包括W下具體步驟:
[0007] 步驟1,讀取目標(biāo)區(qū)域的原始機載LiDAR點云數(shù)據(jù),得到原始LiDAR點云數(shù)據(jù)的總個 數(shù)η;
[000引步驟2,確定格網(wǎng)劃分的步長并確定X方向和y方向格網(wǎng)的個數(shù)ηχ和ny;
[0009] 步驟3,遍歷步驟2中得到的nxXny個格網(wǎng),根據(jù)格網(wǎng)內(nèi)點云的個數(shù)來判斷格網(wǎng)是否 為水體內(nèi)網(wǎng)格,并記錄每個水體內(nèi)網(wǎng)格的位置,從而得到所有水體內(nèi)網(wǎng)格及其位置,具體步 驟如下:
[0010] 301:令 w=l,v = l;
[0011] 302:對第W行第V列格網(wǎng)的四個頂點進(jìn)行編號,其中該網(wǎng)格的右下角頂點編號為1, 其他頂點按逆時針順序依次編號為2、3和4,利用公式4計算該格網(wǎng)1~4頂點的坐標(biāo)
[001 2] ( Xright, ydown)、( Xright, yup )、(Xleft, yup )芽口 (Xleft, ydown): -? = min Λ- + (u' -1) X skp r 1 =mm'v + u'xW(YJ
[001 引 占 , (4) .1',/,,.,"=圓.、' + 0'-1)乂、邸 = min r + v step
[0014] 303:計算當(dāng)前格網(wǎng)內(nèi)點云的個數(shù)z,如果z > 5,則執(zhí)行步驟304;若z<5,則將當(dāng)前 格網(wǎng)標(biāo)記為水體內(nèi)格網(wǎng),轉(zhuǎn)入步驟305;
[001引 304:令w = w+l,如果W如X,則V保持不變,返回步驟302;如果w>nx,則令w=l,v = v +1,返回步驟302;
[0016] 305:記錄每個水體內(nèi)網(wǎng)格的位置,從而得到所有水體內(nèi)網(wǎng)格及其位置;
[0017] 步驟4,逐個捜索步驟3得到的1個水體內(nèi)格網(wǎng)的八連通格網(wǎng),獲得目標(biāo)區(qū)域內(nèi)所有 水陸交界格網(wǎng),并確定所有水陸交界格網(wǎng)位于水體內(nèi)的頂點,具體步驟如下:
[001 引 401:令 1 = 1;
[0019] 402;將第I個水體內(nèi)格網(wǎng)作為種子格網(wǎng),對種子格網(wǎng)的八連通格網(wǎng)進(jìn)行編號,其中 右下角格網(wǎng)編號為1,其他格網(wǎng)按逆時針方向依次編號為2~8;
[0020] 403:分別計算1~8號格網(wǎng)內(nèi)的點云個數(shù)h,若h> 5則將該格網(wǎng)標(biāo)記為水陸交界格 網(wǎng);
[0021] 404:令I(lǐng) = 1 + 1,若I < 1則返回步驟402,否則終止迭代,從而得到目標(biāo)區(qū)域內(nèi)所有 水陸交界格網(wǎng),執(zhí)行步驟405;
[0022] 405:確定步驟403中標(biāo)記的水陸交界格網(wǎng)位于水體內(nèi)的頂點;
[0023] 步驟5,逐個捜索步驟4得到的K個水陸交界格網(wǎng),得到每個水陸交界格網(wǎng)的水體邊 緣點,具體步驟如下:
[0024] 501:令 t = l;
[0025] 502,任選一個第t個水陸交界格網(wǎng)位于水體內(nèi)的頂點作為種子頂點W1,采用K-D樹 組織種子頂點和該水陸交界格網(wǎng)內(nèi)的點云,利用最近鄰算法獲得種子頂點的最近鄰點,將 最近鄰點作為水體邊邊緣點的初始種子點01;
[0026] 503: W初始種子點01為起點,確定初始種子點01逆時針一側(cè)的水體邊緣點,具體步 驟如下:
[0027] 50301:采用k近鄰算法捜索初始種子點01在該水陸交界格網(wǎng)中的最近鄰點云點P1, P2, ...,pq,其中q為捜索到的最近鄰點云點的個數(shù);
[0028] 50302:利用公式5計算初始角α〇;
[0029]
巧)
[0030] 式中,a為01和W1之間的距離,b為W1和W2之間的距離,C為01和W2之間的距離,W2為該 水陸交界格網(wǎng)中W1逆時針方向的下一個頂點;
[0031 ] 50303:利用公式6計算pi、wi和W2構(gòu)成的ZpiwiW2的度數(shù),并記為cii;
[0032]
(6)
[0033] 式中,i = l,2, . . .,q;ai為Pi和W1之間的距離,b為W1和W2之間的距離,ci為Pi和W2之 間的距離;
[0034] 50304:從αι,α2,···,aq中選擇大于初始角α日的角,并將其對應(yīng)的最近鄰點云點重新 記為Ni,…,化,其中S為日1,日2,.….,aq中大于初始角α日的角的個數(shù);
[0035] 50305:利用公式7計算ZNjOiwi的度數(shù),并記為
[0036]
(7)
[0037] 式中,j = 1,2,…,s; Aj為Nj和01之間的距離,a為01和wi之間的距離,Cj為Nj和wi之間 的距離;
[003引50306:從&,&,…,氏中選擇度數(shù)最小的角,該角對應(yīng)的最近鄰點云點即為水體邊 緣點;
[0039] 50307:將步驟50306得到的水體邊緣點作為新的初始種子點,重復(fù)步驟50301~ 50306,繼續(xù)尋找下一個水體邊緣點,直至無新的水體邊緣點出現(xiàn);
[0040] 504: W初始種子點01為起點,確定初始種子點01順時針一側(cè)的水體邊緣點,具體步 驟如下:
[0041 ] 50401:利用公式8計算初始角θ〇;
[0042]
(8)
[0043] 式中,a為01和W1之間的距離,e為W1和W3之間的距離,f為01和W3之間的距離,W3為該 水陸交界格網(wǎng)中W1順時針方向的下一個頂點;
[0044] 50402:利用公式9計算pi、wi和W3構(gòu)成的ZpiwiW3的度數(shù),并記為目i:
[0045]
(9)
[0046] 式中,a功Pi和W1之間的距離,e為W1和W3之間的距離,f功Pi和W3之間的距離;
[0047] 50403:從Θι,θ2, ...,0q中選擇大于初始角θ〇的角,并將其對應(yīng)的最近鄰點云點重 新記為化,M2, . . .,Md,其中d為目1,目2,...,目q大于初始角目0的角的個數(shù);
[004引 50404:利用公式10計算ZMuom的度數(shù),并記為ω。:
[0049]
(10)
[0050] 式中,11=1,2, ···,(!; Du為Mu和01之間的距離,a為01和W1之間的距離,F(xiàn)u為Mu和W1之間 的距離;
[0051 ] 50405:從ωι,02, ...,cod中選擇度數(shù)最小的角,該角對應(yīng)的最近鄰點云點即為水 體邊緣點;
[0052] 50406:將步驟50305得到的水體邊緣點作為新的初始種子點,重復(fù)步驟50401~ 50405,繼續(xù)尋找下一個水體邊緣點,直至無新的水體邊緣點出現(xiàn);
[0053] 505:整合步驟503和步驟504獲得的水體邊緣點,得到當(dāng)前水陸交界格網(wǎng)的所有水 體邊緣點;
[0054] 506,令t = t+l,若t含K,則返回步驟502,捜索下一個水陸交界格網(wǎng)的水體邊緣點; 若t >Κ,則終止迭代,執(zhí)行步驟6;從而得到所有水陸交界格網(wǎng)的水體邊緣點;
[0055] 步驟6,整合步驟5中得到的所有水陸交界格網(wǎng)的水體邊緣點,從而得到目標(biāo)區(qū)域 水體的邊緣圖像。
[0056] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟2中確定格網(wǎng)劃分的步長并確定X方向和y方 向格網(wǎng)的個數(shù),具體步驟如下:
[0057] 201:預(yù)設(shè)每個格網(wǎng)期望包含的點云個數(shù)m;
[0化引 202:計算點云X方向的坐標(biāo)最小值min X和最大值max x,W及y方向的坐標(biāo)最小值 min y和最大值max y;
[0059] 203:計算目標(biāo)區(qū)域點云的平均密度;
[0060] 204:計算格網(wǎng)劃分的步長;
[0061] 205:計算X方向和y方向格網(wǎng)的個數(shù),從而得到ny行nx列的格網(wǎng)。
[0062] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,利用公式1計算步驟203中的目標(biāo)區(qū)域點云的平均 密度,具體為:
[006;3]
(1)
[0064] 式中,0為目標(biāo)區(qū)域點云的平均密度。
[0065] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,利用公式2計算步驟204中的格網(wǎng)劃分的步長,具 體為:
[0066]
(2)
[0067] 式中,St邱為格網(wǎng)劃分的步長。
[0068] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,利用公式3計算步驟205中X方向和y方向格網(wǎng)的個 數(shù),具體為:
[0069]
(3)
[0070] 式中,nx和ny分別為X方向和y方向格網(wǎng)的個數(shù),fix表示截取尾數(shù)函數(shù)。
[0071] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟405中水陸交界格網(wǎng)位于水體內(nèi)的頂點即為: 水陸交界格網(wǎng)與種子格網(wǎng)的共同頂點。
[0072] 本發(fā)明采用W上技術(shù)方案與現(xiàn)有技術(shù)相比,具有W下技術(shù)效果:本發(fā)明方法簡單 易行,執(zhí)行效率高,不利用其他輔助數(shù)據(jù)就能夠直接從機載LiDAB點云中獲得水體輪廓線, 能夠較為精確和全面的提取出水體。
【附圖說明】
[0073] 圖1是本發(fā)明的方法流程圖。
[0074] 圖2是格網(wǎng)頂點編號方法。
[0075] 圖3是種子格網(wǎng)的八連通格網(wǎng)編號方法。
[0076] 圖4是捜索水體邊緣點的原理圖。
[0077] 圖5是原始機載LiDAR點云圖像。
[0078] 圖6是提取的水體邊緣圖像。
【具體實施方式】
[0079] 下面結(jié)合附圖W及具體實施例對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明:
[0080] 如圖1所示,一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,包括W下步驟:
[0081] 1、某湖泊區(qū)域的原始機載LiDAR點云圖像如圖5所示,讀取原始機載LiDAR點云數(shù) 據(jù),點云數(shù)據(jù)的總個數(shù)η = 1244620。
[0082] 2、確定格網(wǎng)劃分的步長并確定X方向和y方向格網(wǎng)的個數(shù),具體步驟如下:
[0083] 201:預(yù)設(shè)每個格網(wǎng)期望包含的點云個數(shù)k = 100;
[0084] 202:計算X方向最小值min X和最大值max x,W及Y方向最小值min y和最大值max y;
[0085] 204:利用公式1計算目標(biāo)區(qū)域的點云的平均密度ο:
[0086]
…
[0087] 205:利用公式2計算格網(wǎng)劃分的步長step:
[008引
似
[0089] 206:利用公式3計算X方向和y方向格網(wǎng)的個數(shù),共得到了 ny行nx列個格網(wǎng)。
[0090]
〇)
[0091] 步驟3,遍歷109X113個格網(wǎng),根據(jù)格網(wǎng)內(nèi)點云的個數(shù)來判斷格網(wǎng)是否為水體內(nèi)網(wǎng) 格,并記錄每個水體內(nèi)網(wǎng)格的位置,從而得到所有水體內(nèi)網(wǎng)格及其位置,具體步驟如下:
[0092] 301:令"=1,¥ = 1;
[0093] 302:對第W行第V列格網(wǎng)的四個頂點進(jìn)行編號,如圖2所示,其中該網(wǎng)格的右下角頂 點編號為1,其他頂點按逆時針順序依次編號為2、3和4,利用公式4計算該格網(wǎng)1~4頂點的 坐柄(Xright, ydown)、( Xright, yup )、( Xleft, yup )和(Xleft, ydown):
[0094]
C4)
[0095] 303:計算當(dāng)前格網(wǎng)內(nèi)點云的個數(shù)z,如果z ^,則執(zhí)行步驟304;若z<5,則將當(dāng)前 格網(wǎng)標(biāo)記為水體內(nèi)格網(wǎng),轉(zhuǎn)入步驟305;
[0096] 304:令w = w+l,如果W < 109,則v保持不變,返回步驟302;如果w> 109,則令w= 1,V = v+l,返回步驟302;
[0097] 305:記錄每個水體內(nèi)網(wǎng)格的位置,從而得到所有水體內(nèi)網(wǎng)格及其位置。
[0098] 步驟4,逐個捜索步驟3得到的1個水體內(nèi)格網(wǎng)的八連通格網(wǎng),獲得目標(biāo)區(qū)域內(nèi)所有 水陸交界格網(wǎng),并確定所有水陸交界格網(wǎng)位于水體內(nèi)的頂點,具體步驟如下:
[0099] 401:令1 = 1;
[0100] 402;將第I個水體內(nèi)格網(wǎng)作為種子格網(wǎng),對種子格網(wǎng)的八連通格網(wǎng)進(jìn)行編號,如圖 3所示,其中右下角格網(wǎng)編號為1,其他格網(wǎng)按逆時針方向依次編號為2~8;
[0101] 403:分別計算1~8號格網(wǎng)內(nèi)的點云個數(shù)h,若h> 5則將該格網(wǎng)標(biāo)記為水陸交界格 網(wǎng);
[0102] 404:令I(lǐng) = 1 + 1,若I < 1則返回步驟402,否則迭代結(jié)束,從而得到目標(biāo)區(qū)域內(nèi)所有 水陸交界格網(wǎng),執(zhí)行步驟405;
[0103] 405:確定步驟403中標(biāo)記的水陸交界格網(wǎng)位于水體內(nèi)的頂點,即為水陸交界格網(wǎng) 與種子格網(wǎng)的共同頂點。
[0104] 步驟5,逐個捜索步驟4得到K個水陸交界格網(wǎng),得到每個水陸交界格網(wǎng)的水體邊緣 點,如圖4所示,具體步驟如下:
[0105] 501:令 t = l;
[0106] 502,任選一個第t個水陸交界格網(wǎng)位于水體內(nèi)的頂點作為種子頂點W1,采用K-D樹 組織種子頂點和該水陸交界格網(wǎng)內(nèi)的點云,利用最近鄰算法獲得種子頂點的最近鄰點,將 最近鄰點作為水體邊緣點的初始種子點01;
[0107] 503: W初始種子點01為起點,確定初始種子點01逆時針一側(cè)的水體邊緣點,具體步 驟如下:
[0108] 50301:采用k近鄰算法捜索初始種子點01在該水陸交界格網(wǎng)中的最近鄰點云點P1, P2, ...,pq,其中q為捜索到的最近鄰點云點的個數(shù);
[0109] 50302:利用公式5計算初始角α〇;
[0110]
(5)
[0111] 式中,a為01和W1之間的距離,b為W1和W2之間的距離,C為01和W2之間的距離,W2為該 水陸交界格網(wǎng)中W1逆時針方向的下一個頂點;
[Om] 50303:利用公式6計算pi、wi和W2構(gòu)成的ZpiwiW2的度數(shù),并記為cii;
[0113]
(6)
[0114] 式中,i = 1,2, ···, q;ai為Pi和W1之間的距離,b為W1和W2之間的距離,Ci為Pi和W2之間 的距離;
[0115] 50304:從日1,日2, ...,aq中選擇大于初始角α日的角,并將其對應(yīng)的最近鄰點云點重 新記為化,...,化,其中S為αι,α2,···,α。大于初始角α〇的角的個數(shù);
[0116] 50305:利用公式7計算Ζ Njoiwi的度數(shù),并記為&:
[0117]
巧)
[011引式中,j = 1,2,…,S; Aj為Nj和01之間的距離,a為01和W1之間的距離,Cj為Nj和W1之間 的距離;
[0119] 50306:從βι,β2,...,氏中選擇度數(shù)最小的角,該角對應(yīng)的最近鄰點云點即為水體 邊緣點;
[0120] 50307:將步驟50306得到的水體邊緣點作為新的初始種子點,重復(fù)步驟50301~ 50306,繼續(xù)尋找下一個水體邊緣點,直至無新的水體邊緣點出現(xiàn);
[0121 ] 504: W初始種子點01為起點,確定初始種子點01順時針一側(cè)的水體邊緣點,具體步 驟如下:
[0122] 50401:利用公式5計算初始角θ〇;
[0123]
(5)
[0124] 式中,a為01和W1之間的距離,e為W1和W3之間的距離,f為01和W3之間的距離,W3為該 水陸交界格網(wǎng)中W1順時針方向的下一個頂點;
[012引 50402:利用公式6計算pi、wi和W3構(gòu)成的ZpiwiW3的度數(shù),并記為目i:
[012W
傲
[0127] 式中,iii為Pi和W1之間的距離,e為W1和W3之間的距離,f i為Pi和W3之間的距離;
[012引50403:從θι,θ2,···,θ。中選擇大于初始角θ0的角,并將其對應(yīng)的最近鄰點云點重新 記為Mi,M2,一,Md,其中d為目1,目2,…,目q大于初始角目0的角的個數(shù);
[0129] 50404:利用公式7計算ZMuom的度數(shù),并記為ω。:
[0130]
C7)
[0131] 式中,u=l,2, ···,(!; Du為Mu和01之間的距離,a為01和W1之間的距離,F(xiàn)u為Mu和W1之間 的距離;
[0132] 50405:從ωι,02, ...,cod中選擇度數(shù)最小的角,該角對應(yīng)的最近鄰點云點即為水 體邊緣點;
[0133] 50406:將步驟50305得到的水體邊緣點作為新的初始種子點,重復(fù)步驟50401~ 50405,繼續(xù)尋找下一個水體邊緣點,直至無新的水體邊緣點出現(xiàn);
[0134] 505:整合步驟503和步驟504獲得的水體邊緣點,得到當(dāng)前水陸交界格網(wǎng)的所有水 體邊緣點;
[0135] 506,令t = t+1,若t含K,則返回步驟502,捜索下一個水陸交界格網(wǎng)的水體邊緣點; 若t >Κ,則終止執(zhí)行,執(zhí)行步驟6;從而得到所有水陸交界格網(wǎng)的水體邊緣點。
[0136] 步驟6,整合步驟5中得到的所有水陸交界格網(wǎng)的水體邊緣點,從而得到目標(biāo)區(qū)域 水體的邊緣圖像,如圖6所示。
[0137] 從圖5和圖6可W看出,在不利用其他輔助數(shù)據(jù)的情況下,本發(fā)明就能夠直接從原 始機載LiDAR點云圖像中獲取到水體的輪廓點云數(shù)據(jù),而且提取的點云圖像能夠較為精確 和全面地體顯示水體的輪廓。
[0138] W上所述,僅為本發(fā)明中的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任 何熟悉該技術(shù)的人在本發(fā)明所掲露的技術(shù)范圍內(nèi),可理解想到的變換或替換,都應(yīng)涵蓋在 本發(fā)明的包含范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該W權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
【主權(quán)項】
1. 一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,其特征在于,包括以下具體步驟: 步驟1,讀取目標(biāo)區(qū)域的原始機載LiDAR點云數(shù)據(jù),得到原始LiDAR點云數(shù)據(jù)的總個數(shù)η; 步驟2,確定格網(wǎng)劃分的步長并確定X方向和y方向格網(wǎng)的個數(shù)ηχ和ny; 步驟3,遍歷步驟2中得到的nxXny個格網(wǎng),根據(jù)格網(wǎng)內(nèi)點云的個數(shù)來判斷格網(wǎng)是否為水 體內(nèi)網(wǎng)格,并記錄每個水體內(nèi)網(wǎng)格的位置,從而得到所有水體內(nèi)網(wǎng)格及其位置,具體步驟如 下: 301:令 w= 1,v= 1; 302:對第w行第v列格網(wǎng)的四個頂點進(jìn)行編號,其中該網(wǎng)格的右下角頂點編號為1,其他 頂點按逆時針順序依次編號為2、3和4,利用公式4計算該格網(wǎng)1~4頂點的坐標(biāo)(Xright, ydown)、( Xright,yup )、(Xleft,yup )矛口 (Xleft,ydown):303:計算當(dāng)前格網(wǎng)內(nèi)點云的個數(shù)z,如果z 2 5,則執(zhí)行步驟304;若z <5,則將當(dāng)前格網(wǎng) 標(biāo)記為水體內(nèi)格網(wǎng),轉(zhuǎn)入步驟305; 304:令w = w+l,如果w < nx,則v保持不變,返回步驟302;如果w>nx,則令w=l,v = v+l, 返回步驟302; 305:記錄每個水體內(nèi)網(wǎng)格的位置,從而得到所有水體內(nèi)網(wǎng)格及其位置; 步驟4,逐個搜索步驟3得到的1個水體內(nèi)格網(wǎng)的八連通格網(wǎng),獲得目標(biāo)區(qū)域內(nèi)所有水陸 交界格網(wǎng),并確定所有水陸交界格網(wǎng)位于水體內(nèi)的頂點,具體步驟如下: 401:令 1 = 1; 402;將第I個水體內(nèi)格網(wǎng)作為種子格網(wǎng),對種子格網(wǎng)的八連通格網(wǎng)進(jìn)行編號,其中右下 角格網(wǎng)編號為1,其他格網(wǎng)按逆時針方向依次編號為2~8; 403:分別計算1~8號格網(wǎng)內(nèi)的點云個數(shù)h,若h 2 5則將該格網(wǎng)標(biāo)記為水陸交界格網(wǎng); 4〇4:令1 = 1 + 1,若1<1則返回步驟402,否則終止迭代,從而得到目標(biāo)區(qū)域內(nèi)所有水陸 交界格網(wǎng),執(zhí)行步驟405; 405:確定步驟403中標(biāo)記的水陸交界格網(wǎng)位于水體內(nèi)的頂點; 步驟5,逐個搜索步驟4得到的K個水陸交界格網(wǎng),得到每個水陸交界格網(wǎng)的水體邊緣 點,具體步驟如下: 501:令 t = l; 502,任選一個第t個水陸交界格網(wǎng)位于水體內(nèi)的頂點作為種子頂點W1,采用K-D樹組織 種子頂點和該水陸交界格網(wǎng)內(nèi)的點云,利用最近鄰算法獲得種子頂點的最近鄰點,將最近 鄰點作為水體邊緣點的初始種子點〇 1; 503:以初始種子點〇1為起點,確定初始種子點〇1逆時針一側(cè)的水體邊緣點,具體步驟如 下: 50301:采用k近鄰算法搜索初始種子點〇1在該水陸交界格網(wǎng)中的最近鄰點云點Pl, p2, ...,pq,其中q為搜索到的最近鄰點云點的個數(shù); 50302:利用公式5計算初始角α〇:式中,a為01和W1之間的距離,b為W1和W2之間的距離,C為01和W2之間的距離,W2為該水陸 交界格網(wǎng)中W1逆時針方向的下一個頂點; 50303 :利用公式6計算pi、wi和W2構(gòu)成的ZpiwiW2的度數(shù),并記為ai:式中,i = l,2,'",q; ai為pi和wi之間的距離,b為wi和W2之間的距離,Ci為pi和W2之間的距 離; 50304:從αι,α2, ...,aq中選擇大于初始角α〇的角,并將其對應(yīng)的最近鄰點云點重新記為 Ni, . . .,NS,其中sSaia〗,...,aq中大于初始角α〇的角的個數(shù); 50305:利用公式7計算Z Nj〇1W1的度數(shù),并記為氏:式中,」=1,2,一,8;4」為%和01之間的距離,3為01和¥1之間的距離,(^為%和¥1之間的距 離; 50306:從如,02,···,隊中選擇度數(shù)最小的角,該角對應(yīng)的最近鄰點云點即為水體邊緣 占. 50307:將步驟50306得到的水體邊緣點作為新的初始種子點,重復(fù)步驟50301~50306, 繼續(xù)尋找下一個水體邊緣點,直至無新的水體邊緣點出現(xiàn); 504:以初始種子點〇1為起點,確定初始種子點〇1順時針一側(cè)的水體邊緣點,具體步驟如 下: 50401:利用公式8計算初始角θ0:式中,a為οι和wi之間的距離,e為wi和W3之間的距離,f為οι和W3之間的距離,W3為該水陸 交界格網(wǎng)中W1順時針方向的下一個頂點; 50402 :利用公式9計算pi、wi和W3構(gòu)成的ZpiwiW3的度數(shù),并記為9i:式中,ai為pi和wi之間的距離,e為wi和W3之間的距離,f i為pi和W3之間的距離; 50403:從...,0q中選擇大于初始角θ〇的角,并將其對應(yīng)的最近鄰點云點重新記為 Miifc,…,Md,其中d為θιθ%…,0q大于初始角θ〇的角的個數(shù); 50404:利用公式10計算ZMuOiwi的度數(shù),并記為ωυ:式中,u=l,2,···,d;Du為1和〇1之間的距離,a為οι和wi之間的距離,F(xiàn)u為M u和wi之間的距 離; ω2, . . .,cod中選擇度數(shù)最小的角,該角對應(yīng)的最近鄰點云點即為水體邊 緣點; 50406:將步驟50305得到的水體邊緣點作為新的初始種子點,重復(fù)步驟50401~50405, 繼續(xù)尋找下一個水體邊緣點,直至無新的水體邊緣點出現(xiàn); 505:整合步驟503和步驟504獲得的水體邊緣點,得到當(dāng)前水陸交界格網(wǎng)的所有水體邊 緣點; 506,令t = t+Ι,若t < K,則返回步驟502,搜索下一個水陸交界格網(wǎng)的水體邊緣點;若t >K,則終止迭代,執(zhí)行步驟6;從而得到所有水陸交界格網(wǎng)的水體邊緣點; 步驟6,整合步驟5中得到的所有水陸交界格網(wǎng)的水體邊緣點,從而得到目標(biāo)區(qū)域水體 的邊緣圖像。2. 根據(jù)權(quán)利要求1所述的一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,其特征在 于,步驟2中確定格網(wǎng)劃分的步長并確定X方向和y方向格網(wǎng)的個數(shù),具體步驟如下: 201:預(yù)設(shè)每個格網(wǎng)期望包含的點云個數(shù)m; 202:計算點云X方向的坐標(biāo)最小值min X和最大值max X,以及y方向的坐標(biāo)最小值min y和最大值max y; 203:計算目標(biāo)區(qū)域點云的平均密度; 204:計算格網(wǎng)劃分的步長; 205:計算X方向和y方向格網(wǎng)的個數(shù),從而得到ny行nx列的格網(wǎng)。3. 根據(jù)權(quán)利要求2所述的一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,其特征在 于,利用公式1計算步驟203中的目標(biāo)區(qū)域點云的平均密度,具體為:式中,σ為目標(biāo)區(qū)域點云的平均密度。4. 根據(jù)權(quán)利要求3所述的一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,其特征在 于,利用公式2計算步驟204中的格網(wǎng)劃分的步長,具體為:式中,step為格網(wǎng)劃分的步長。5. 根據(jù)權(quán)利要求4所述的一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,其特征在 于,利用公式3計算步驟205中X方向和y方向格網(wǎng)的個數(shù),具體為:式中,nx和ny分別為X方向和y方向格網(wǎng)的個數(shù),f i X表示截取尾數(shù)函數(shù)。6. 根據(jù)權(quán)利要求1所述的一種利用LiDAR點云數(shù)據(jù)提取水體邊緣線的方法,其特征在 于,步驟405中水陸交界格網(wǎng)位于水體內(nèi)的頂點即為:水陸交界格網(wǎng)與種子格網(wǎng)的共同頂 點。
【文檔編號】G06T7/00GK105825506SQ201610143722
【公開日】2016年8月3日
【申請日】2016年3月14日
【發(fā)明人】賈東振, 何秀鳳
【申請人】河海大學(xué)