我們對照著例子來快速的認識一下
ply格式,後面會給出詳細說明
首先總體來看,
ply的檔案結構為
: 檔案頭+資料內容,檔案頭從 ply 一行開始,到 end_header 為止,
裡面定義了此
ply檔案中資料的組織形式,包括資料型別和個數。之後的
資料內容
完全按照檔案頭的定義來組織。
例1、
ply
format ascii 1.0
element vertex 5
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
end_header
-0.0856152 0.0246039 0.683328 0 255 0
-0.510705 -0.154819 0.806933 0 255 0
-0.158854 0.184305 0.77175 0 255 0
0.252752 0.0789101 0.738927 0 255 0
-0.388887 -0.120427 0.73772 0 255 0
例一比較簡單,只有頂點,
format
關鍵字後跟著的是資料的編碼形式,分為
ascii
碼和 binary
兩類;
element
關鍵字後面跟的是元素型別和個數,這裡是
5個頂點;元素除了頂點(
vertex
)外還有麵片(
face);
property
關鍵字後面跟的是這個元素(
element
)的資料型別,此處表示每個點(用一行表示)後跟著
6 個資料,分別為x、
y、z、
r、g、
b其中
xyz座標用
float
型別表示,
rgb顏色用
uchar
型別表示;
例2、
ply
format binary_little_endian 1.0
comment abc.png
element vertex 300
property float32 x
property float32 y
property float32 z
element face 600
property list uint8 uint32 vertex_indices
property list uint8 float32 texcoord
end_header
例二是個帶貼圖的模型,這裡只給出檔案頭,
跟例一一樣,
format
指定編碼型別,這裡用的是二進位制壓縮編碼;
comment
後跟著的是注釋資訊,帶貼圖的
ply檔案需要將貼**件名放在注釋資訊後,除此之外
comment
後還可以跟一些作者、版本等資訊;
element
例二出現了兩個
element
,分別為第 4
行的 vertex
和第 8
行的face
,後面跟的數字是每個元素的個數,即
vertex
佔了 300
行,face
佔了其後的
600行;
vertex
後的 property
與例一不同只有
xyz的座標,沒有顏色,用
32位
float
表示;
face
後的 property
有兩行,第一行定義了
face
的頂點列表,第二行定義了
face
對應貼圖的座標列表;
第一行 "
list uint8uint32 vertex_indices "
list
表示後面跟著的是個列表,vertex_indices指的是這是個頂點列表,本行用乙個uint8
的數字打頭,指出列表中的元素個數(對於麵片來說一般大於三),然後
unint32
表示的是列表中資料的型別,也就是用
32位無符號整形表示此麵片頂點對應的
vertex
元素的編號(按順序從小到大)。
第二行 "
list uint8float32 texcoord
"list
表示後面跟著的是個列表,
texcoord
指的是這是個紋理座標列表,同樣用乙個
uint8
的數字打頭,指出列表中的元素個數(
uv座標就是
2),然後
float32
表示的是列表中資料的型別,也就是用
32位
float
表示紋理座標值。
******************************====
到此看完例子基本上就明白ply檔案的組織結構了(如有不清楚的地方我再補充)
關於其中可用的資料型別,可從官網給出的**中尋找
PLY格式 matlab點雲處理
ply格式 1.0版ply格式 也稱為斯坦福三角格式 定義了一種用於儲存3d資料的靈活而系統的方案。ascii標頭通過定義每個帶有一組 屬性 的 元素 來指定檔案中的資料。許多ply檔案僅具有頂點和面資料,但是,也可以包含其他資料,例如顏色資訊,頂點法線或特定於應用程式的屬性。注意computer ...
ply補全為立方體 PLY格式檔案具體解釋
一 ply簡單介紹 ply多邊形檔案格式的開發目標是建立一套針對多邊形模型的,結構簡單可是可以滿足大多數圖形應用須要的模型格式,並且它同意以ascii碼格式或二進位制形式儲存檔案。ply的開發人員希望。這樣一套既簡單又靈活的檔案格式,可以幫助開發人員避免反覆開發檔案格式的問題。然而因為各種各樣的原因...
ply模型格式解析與Loader編寫
ply作為一種多邊形模型資料格式,不同於三維引擎中常用的場景 件格式和指令碼檔案,每個ply檔案只用於描述乙個多邊形模型物件object,該模型物件可以通過諸如頂點 麵等資料進行描述,被統稱作元素element。ply的檔案結構是 檔案頭 資料列表。其中檔案頭以行為單位描述檔案型別 格式與版本 元素...