朱晨曦 馮茜 饒思敏
摘要 本文基于OpenGL,對(duì)原始地理灰度數(shù)據(jù)進(jìn)行圖像分割,在分析已有的提取山谷線和山脊線的算法之上,使用了一種新的提取特征線的方法,并將特征線進(jìn)行非真實(shí)感繪制,突出了山脈圖像的藝術(shù)特性,將圖形非真實(shí)感可視化應(yīng)用到地理信息繪制領(lǐng)域。
【關(guān)鍵詞】OpenGL 山脈圖像 圖像分割 可視化算法
隨著計(jì)算機(jī)圖形學(xué)相關(guān)技術(shù)的不斷進(jìn)步與發(fā)展,對(duì)于地理信息的構(gòu)建技術(shù)日益成熟。但對(duì)于山脈山系等特定的區(qū)域,沒(méi)有針對(duì)性的可視化模式。
本文研究山脈非真實(shí)感可視化系統(tǒng),針對(duì)于山系、山脈這種區(qū)域很大的地貌進(jìn)行建模。
1 相關(guān)技術(shù)介紹
1.1 圖像分割算法
在針對(duì)山脈的圖像分割中,首先利用圖像全局灰度分布特性實(shí)現(xiàn)初始分割,然后進(jìn)行區(qū)域標(biāo)記,區(qū)域標(biāo)記即在整體灰度圖中,將灰度值相似的區(qū)域劃分成同一類,并標(biāo)定不同的序號(hào),用以區(qū)分。最后,遍歷所有的區(qū)域,對(duì)相鄰的、灰度值相近的區(qū)域進(jìn)行合并,最后可以得到較合適的分割結(jié)果。
1.2 山谷線和山脊線的提取
山谷和山脊線是地形和地勢(shì)變化的分割線,也是山脈重要的特征線。本文研究通過(guò)DEM數(shù)據(jù)提取特征線并進(jìn)行繪制的方法。
特征線提取可分為幾何分析法和地形表面流水模擬法。在較為稀疏的DEM網(wǎng)格中間,使用地形表面流水模擬法,在四周局部的DEM網(wǎng)格中使用幾何分析法。
幾何分析法思想:在垂直于DEM平面上截取斷面,形成的斷面曲線中極小值點(diǎn)即為山谷點(diǎn)的候選點(diǎn),而極大值點(diǎn)為山脊點(diǎn)的候選點(diǎn)。經(jīng)過(guò)一定的篩選時(shí)后,這些山谷、山脊點(diǎn)就是DEM圖中的特征點(diǎn)。
地形表面流水模擬法思想:通過(guò)模擬自然界中水流隨地形高低變化流動(dòng)模型,計(jì)算每一個(gè)地形點(diǎn)的流水量,按照流水量單調(diào)遞增的順序,找到區(qū)域的流水線,通過(guò)進(jìn)一步計(jì)算得到分水線。其中合水線是山谷線,分水線是山脊線。
最后,實(shí)現(xiàn)山脊點(diǎn)和山谷點(diǎn)的提取和篩選,得到的山脊、山谷線并不完全連接,針對(duì)離散的特征點(diǎn)設(shè)計(jì)一種新的連接方法,使得山脊、山谷線更加連接暢通,最后去除山脊、山谷線中一些孤立的短支,使線條看起來(lái)更加清晰,最終得到提取結(jié)果。
本文結(jié)合了圖論的思想??紤]了DEM圖上每個(gè)點(diǎn)的聯(lián)系。根據(jù)山脊線山谷線的高度特征和連續(xù)性特征設(shè)計(jì)算法,得到特征線的位置。
1.3 非真實(shí)感繪制
本文采用了自動(dòng)非真實(shí)感繪制,突出了山脈的藝術(shù)效果。目的在于將地理的特征信息用計(jì)算機(jī)的方式表達(dá)出來(lái)。利用山脊和山谷等特征線,生成非真實(shí)感紋理。對(duì)于不同海拔、不同地貌的山系區(qū)域,光照產(chǎn)生的陰面陽(yáng)面、采用不同顏色、線條等表現(xiàn)形式。
1.3.1 輪廓線的標(biāo)定與風(fēng)格化繪制
得到所有輪廓線,去除可見(jiàn)性問(wèn)題,即去除事實(shí)上看不見(jiàn)的輪廓線,達(dá)到更逼真的效果。通過(guò)抽象的線條信息很好地表現(xiàn)出山系的形態(tài)特征并繪制紋理。
獲得三維網(wǎng)格模型的特征線,構(gòu)造不同風(fēng)格的藝術(shù)圖案,利用紋理映射的方法對(duì)特征線進(jìn)行風(fēng)格化。
1.3.2 三維模型非真實(shí)感著色
獲取模型,基于高度和曲率繪制脊線和輪廓線,進(jìn)行卡通渲染。構(gòu)造山體的二維紋理貼圖,添加攝像機(jī),模型最終的渲染效果隨著視點(diǎn)的改變而改變,表現(xiàn)力強(qiáng)。
2 算法實(shí)現(xiàn)
2.1 針對(duì)山系網(wǎng)格提取特征線
在這一步算法中,基于OpenGL處理灰度圖像,建立概略DEM,為了對(duì)特征點(diǎn)進(jìn)行識(shí)別和判斷。而且,較為稀疏的DEM數(shù)據(jù)還可以避免噪聲的干擾,減少誤差的產(chǎn)生。在大量數(shù)據(jù)的處理過(guò)程中還大大減少了計(jì)算量。
對(duì)于將特征點(diǎn)連接成特征線,使用新方法:借助最小生成樹(shù)建立連接。利用比較成熟的Prim算法,求解各特征點(diǎn)之間的最小生成樹(shù)。首先將DEM圖構(gòu)建成鄰接矩陣G,由頂點(diǎn)和連線構(gòu)成,G (V,E)。將所有特征點(diǎn)按照八鄰域方式與周圍的特征點(diǎn)相連接,構(gòu)成原始的圖G。對(duì)于G中的每一條邊,他的端點(diǎn)分別力a、b,H為某點(diǎn)的高度值,則他的權(quán)重為Ei= (Ha+Hb)/2。
使用Prim算法更加適合解決特征點(diǎn)連接成特征線的問(wèn)題,所求解的最小生成樹(shù)就是山脈中的特征線。
2.2 非真實(shí)感繪制
2.2.1 輪廓線的標(biāo)定
基于圖形空間的輪廓檢測(cè)可以分為兩類:一類是基于多邊形網(wǎng)絡(luò),另一種是基于光滑表面。而其中的算法又有兩類:直接檢測(cè)算法和間接合成算法。本文重點(diǎn)使用了直接檢測(cè)算法,遍歷組成模型的所有邊,然后針對(duì)每一條邊判斷是否符合輪廓線的條件。此算法簡(jiǎn)單而有效。
2.2.2 風(fēng)格化繪制
基于圖像的線條繪制技術(shù)可以具有不同的表現(xiàn)風(fēng)格。其中,以山谷和山脊等特征線為作為繪制的基本元素,根據(jù)三維模型和圖像的具體地理特性來(lái)生成形狀各異的線條元素。最終,利用這些元素構(gòu)成最后的圖像。
采用無(wú)筆劃的繪制技術(shù),通過(guò)提取的特征線,將特征線進(jìn)行處理,加深和加粗并突出它原有的特性。由于特征線的形狀,粗細(xì)各有不同,可以利用參數(shù)的設(shè)置得到不同的效果。將各種不同特征線條按照地理信息添加到地理空間內(nèi),就形成了紋理。紋理表示了山脈表面的材質(zhì),是圖像中重要的一部分。
其中,圖像渲染主要是由CPU的運(yùn)算完成的。為了提升生成圖像的顯示速度,本文對(duì)繪制算法加速和優(yōu)化.利用了GPU加速,從而為用戶帶來(lái)更好的視覺(jué)體驗(yàn)。
參考文獻(xiàn)
[1]翁宏章,基于DEM的地形特征線提取方法研究與應(yīng)用[D].電子科技大學(xué),2017.
[2]李智慧.基于圖像的非真實(shí)感繪制[D].遼寧大學(xué),2012.