How to write Ply file that includes triangulation?

15 views (last 30 days)
I have vertices, color, and triangulation of my 3D object. I have tried the pointCloud and pcwrite, but it only allows me to input vertices and color. When I try to load the ply file using Blender 2 things happen: -Colors are not properly read (only one color shows) -Points are not triangulated
  1 Comment
Dejan Dimitrijevic
Dejan Dimitrijevic on 19 Mar 2019
Edited: Dejan Dimitrijevic on 22 Mar 2019
Were you able to do this please...I don't think Ning Zhang realized that the plywrite in MATLAB only writes the vertices with their colors, but there are no triangle face(t) elements being written...it's basically just the point cloud, and there is no surface afterwards, which you asked for (the triangulation besides the vertices)...
Nevermind, found this, though not clean, as plywrite might be, it can write faces too...just have to traverse surface now...or does someone know a simpler way?

Sign in to comment.

Answers (2)

Ning Zhang
Ning Zhang on 8 Sep 2017
'pcread' should do the job for you to convert the PLY to MATLAB pointCloud Object
https://www.mathworks.com/help/vision/ref/pcread.html
To write to a PLY, which the Greg Turk's version of PLY is used in pcwrite, vertex number, position x y z, color RGB is all you need. Check the format of PLY in the following link:
If you try this following example in your Command Window
>> openExample('vision/WriteA3DPointCloudToAPLYFileExample')
In the opened script, if you change the encodingType from 'binary' to 'ascii'. You should be able to examine the XYZ and RGB values, once you generate the PLY

raphael falque
raphael falque on 18 Mar 2021
I added the color output to the write_ply from Gabriel Peyré over there: https://github.com/rFalque/3D_tools_matlab/blob/main/IO/write_ply.m

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!