Meshlab Clean ply from Capture iOS App
We will apply the following filters and tools to the PLY file Scan from the “Capture” app in the following order.

We can search all of the filters at the MESHLAB search box, apply them with the default values unless specified.
First we’re going to clean the point cloud
- Remove Duplicated Faces
- Remove Duplicated Vertex
- Remove Zero Area Faces
- Point Cloud Simplification (You can skip this one if you need the texture color from the vertexes as it will ad unwanted speckles)
Number of samples try 1/2 of the total Vertex count and increase if needed (Ex if Count is 800,000 then samples can be 400,000)
Best Sample Heuristic Checked - Select the “Simplified Cloud” new mesh
- Compute normals for point sets
Neighbour num between 10 – 100
Smooth Iteration between 0 – 10 - Show Normal
Make sure Normals are Computed properly
Now to Create the solid Mesh
- Screened Poisson Surface Reconstruction
- Select Faces with edges longer than
Then delete those faces - Remove isolated pieces (wrt Face Num.).
Remove unreferenced vertices Checked - Select non Manifold Vertices
Delete them - Laplacian Smooth (In case is needed)
Now for Texturing
- Per Vertex Texture Function
- Convert PerVertex UV into PerWedge UV
- Parametrization: trivial Per-triangle
Quads -per -line : 0
Texture Dimension (px) : 4096 or (1024, 2048).
Inter-triangle border (px) : 0
Method : Basic (with Space-optimizing somethimes Meshlab crashes.) - Save Project As... Save the project in “.mlp”
- Export Mesh As... OBJ
TexCoord Checked - Transfer: Vertex Color to Texture
Texture file : Same name as the mesh
Texture width (px) : 4096 (make sure this is same as Texture Dimension in the above steps)
Texture height (px) : 4096
Check Assign texture and Fill texture