肖培
摘要:點云模型區(qū)域分割是其數(shù)字處理的基礎(chǔ)工作。在分析用戶交互式邊界頂點選取方法基礎(chǔ)上,提出一種基于自動生成邊界曲線的分割算法。根據(jù)點法式方程求解邊界點的剖切平面,據(jù)此將點云模型分為兩部分。實驗表明,與適當?shù)挠脩艚缑媾浜希惴捎行崿F(xiàn)點云模型的特征區(qū)域交互式分割操作,為點云模型參數(shù)化及模型編輯等提供支持。
關(guān)鍵詞:點云;交互式邊界;模型編輯;交互式模型分割
DOIDOI:10.11907/rjdk.172243
中圖分類號:TP312文獻標識碼:A文章編號:16727800(2017)010006103
0引言
點云模型具有表示三維細節(jié)能力強、存儲簡單等特點,成為CAD/CG領(lǐng)域常用的三維物體表示模型。如何有效對點云模型進行邊界選取及區(qū)域分割,是點云模型數(shù)字幾何處理的基礎(chǔ)性工作[1]。
為了給用戶提供更加自由的模型編輯手段,使用戶能將更多的個性化建模意圖滲透到模型編輯與相關(guān)處理中,本文在交互式方法基礎(chǔ)上,選取相應(yīng)的邊界點,依據(jù)這些點計算出一個剖切平面,將點云模型分成兩部分,實現(xiàn)了點云模型的交互式分割、局部參數(shù)化等操作[23]。
1分割算法
對點云模型進行分割,要根據(jù)交互式邊界曲線的點計算其剖切平面。平面計算方法一般有點法式、截距式、平面一般方程等,而現(xiàn)有的條件是邊界上各點的坐標,通過計算邊界點的冪中心m,將邊界點中的每個點平移至m,然后乘以其轉(zhuǎn)置(pi-m)T,將每項乘積求和,最后除以邊界點個數(shù),從而得到點云邊界點的協(xié)方差矩陣A。通過雅可比方法求解對稱矩陣的全部特征值與相應(yīng)的特征向量。特征向量中,絕對值最小的特征值對應(yīng)的特征向量應(yīng)為此剖切平面的法向[4]。假定此剖切平面通過點m,如圖1所示,則可通過點法式得到此剖切平面方程。將點云模型中的非邊界點代入方程,依據(jù)此平面得出正負值,將點云模型分為兩個部分。
2模型分割結(jié)果
圖3為根據(jù)幾個模型選取邊界進行計算并分割的結(jié)果。實驗表明,此方法可在交互選取的點云邊界上很好地對點云模型進行分割,為點云的局部區(qū)域參數(shù)化提供支持。
實驗采用GLUT庫作為實驗主程序的窗口系統(tǒng),由其建立模型顯示窗口與鼠標及鍵盤操作之間的聯(lián)系,通過操作鍵盤和點擊鼠標實現(xiàn)模型邊界點的選取或刪除。點云模型的顯示與旋轉(zhuǎn)等三維變換操作通過OpenGL圖形庫實現(xiàn)[7]。通過鼠標選取點云模型中的頂點作為邊界頂點,通過OpenGL提供的選擇、拾取等操作實現(xiàn)[8]。
圖3是本文算法在交互式生成模型邊界曲線的基礎(chǔ)上進行點云模型分割的部分結(jié)果。其中,圖3(a)是對867個采樣點構(gòu)成的蘋果模型進行剖分操作得到的結(jié)果,通過計算曲線的剖切平面將蘋果模型剖切為上下兩部分;圖3(b)是運用本文算法生成的人頭模型截口曲線;圖3(c)是對簡化后的馬點云模型從腰部進行剖分的情況,相關(guān)局部模型被作者用于馬模型的球面參數(shù)化;圖3(d)是截取了頭部的老虎模型,可用于點云模型的局部編輯操作。
3結(jié)語
本文提出一種支持交互式操作的點云模型邊界曲線分割算法。根據(jù)交互式邊界曲線的點計算其剖切平面,將點云模型中的非邊界點代入平面方程,依據(jù)此平面得出的正負值將點云模型分為兩個部分,與OpenGL及窗口系統(tǒng)配合實現(xiàn)該算法,并成功應(yīng)用于點云模型的參數(shù)化、模型編輯等。
參考文獻參考文獻:
[1]歐新良,匡小蘭,倪問尹.三維散亂點云分割技術(shù)綜述[J].湖南工業(yè)大學學報,2010(5):4549.
[2]廖中平,劉科,向雨,等.多閾值提取平面點云邊界點的方法[J].計算機應(yīng)用,2016(7):19331937.
[3]孫金虎,周來水,安魯陵.應(yīng)用最小生成樹實現(xiàn)點云分割[J].中國圖象圖形學報,2012(7):858865.
[4]張強,李朝奎,李俊曉,等.一種改進的基于法矢方向調(diào)整的平面點云分割方法[J].地理與地理信息科學,2015(1):4548.
[5]葛邵飛,謝曉堯,景鳳宣,等.點云數(shù)據(jù)模型特征點提取算法研究與實現(xiàn)[J].貴州師范大學學報,2013(5):101106.
[6]徐士良,馬爾妮.常用算法程序集(C/C++描述)[M].第5版.北京:清華大學出版社,2013.
[7]龐明勇,盧章平.鼠標跟蹤球技術(shù)的簡單類實現(xiàn)[J].計算機工程,2004,30(17):182183.
[8]劉慧杰,靳海亮.基于VC++的OpenGL三維圖形開發(fā)設(shè)計[J].計算機與數(shù)字工程,2009(7):122124.
責任編輯(責任編輯:杜能鋼)endprint