Meshlab是一個(gè)強(qiáng)大的三維模型處理的軟件,在三維點(diǎn)云的處理方面也十分強(qiáng)大,不僅僅可以用三維點(diǎn)云重構(gòu)出三維模型,還可以計(jì)算出三維點(diǎn)云每個(gè)點(diǎn)的法向量,這在逆向工程和基于三維點(diǎn)云的隱式曲面重建中非常有用。
我的Meshlab的版本是3.3,可以在網(wǎng)上自行下載。
1.Meshlab讀取三維點(diǎn)云
第一步:打開Meshlab軟件
第二步:點(diǎn)擊File菜單下的ImportMesh導(dǎo)入txt文檔,需要選擇你的txt文檔中XYZ坐標(biāo)之間的分隔符,導(dǎo)入成功后會(huì)顯示你的三維點(diǎn)云數(shù)據(jù)
2.三維點(diǎn)云重建
點(diǎn)擊下圖圖標(biāo),彈出右側(cè)圖層側(cè)邊欄
然后點(diǎn)擊Fiter菜單下Normals,Curtavures and Oreientation下的Smooths normals on a point set計(jì)算三維點(diǎn)云的法向量,如下圖
然后設(shè)置計(jì)算點(diǎn)云法向量的參數(shù),默認(rèn)就好,如有需要可以自行設(shè)置,點(diǎn)擊Apply等計(jì)算完成然后點(diǎn)擊Close關(guān)閉對話框
計(jì)算完點(diǎn)擊法向量之后,點(diǎn)擊Filter菜單下Remeshing Simplication and Reconstruction下的Surface Reconstruction:Ball Pivoting進(jìn)行三維點(diǎn)云重建
然后設(shè)置三維點(diǎn)云重建參數(shù),默認(rèn)就好,也可以自行設(shè)置,點(diǎn)擊Apply等重建完成,點(diǎn)擊close關(guān)閉對話框
然后點(diǎn)擊下列圖標(biāo)顯示重建的三維模型,也可以設(shè)置光照等其他參數(shù)
以下為三維重建結(jié)果
3.法向量的導(dǎo)出與計(jì)算
三維點(diǎn)云的法向量的導(dǎo)出與計(jì)算有兩種方式,一種是在上一節(jié)三維重建中我們已經(jīng)得到了重建后的三維模型,那么每個(gè)點(diǎn)都帶有法向量,可以直接導(dǎo)出即可,還有一種就是從雜亂的三維點(diǎn)中計(jì)算每一個(gè)三維點(diǎn)的法向量
3.1從三維模型中導(dǎo)出三維點(diǎn)云中每個(gè)點(diǎn)的法向量
接著第二節(jié)的步驟,點(diǎn)擊File菜單下Export Mesh as
然后在接下來的對話框中選擇xyz格式
然后在 接下來的對話框中勾選Normal就可以生成文本格式的三維點(diǎn)以及三維點(diǎn)法向量
以下為文本格式的三維點(diǎn)坐標(biāo)以及三維點(diǎn)法向量的結(jié)果
3.2 直接從三維散亂點(diǎn)云中生成三維點(diǎn)的法向量
然后點(diǎn)擊Filter菜單下Normals,Curtavures and Oreientation下的Compute normals for point set計(jì)算三維點(diǎn)云的法向量,如下圖
在彈出來的對話框可以自行設(shè)置參數(shù),先Apply然后再Close
法向量的導(dǎo)出與3.1中的一樣,可以自行參考。
以下為三維點(diǎn)云以及點(diǎn)云的法向量的可視化結(jié)果,點(diǎn)云表示為紅色的點(diǎn),法向量表示為綠色的線段