Skip to content

junyin/OpenMesh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMesh

OpenMesh practices

1.ICP ANN, GSL and OpenMesh libraries are used to achieve the ICP meshes alignment algorithm. With ANN library, kd-tree is built to find nearest neighbour points. Matrices computing is available in GSL library. UI is built in MFC. (A bug is found when degree 180 bunny is used as the 2nd mesh)

2.Denoising Five different approaches are implemented for the mesh denoising;
Denoise1 - Apply bilateral filter to vertices, using KNN for normal calculation[1];
Denoise2 - Apply bilateral filter to vertices, using one-ring neighbour for normal calculation[1];
Denoise3 - Apply bilateral filter to vertices, directly using vertices normal from OpenMesh library;
LaplaceDenoise - Apply uniform Laplacian filter to denoise;
BiNormDenoise - Apply bilateral filter to face normal vectors, and then update each vertex in faces[2].

[1]Fleishman, Shachar, Iddo Drori, and Daniel Cohen-Or. "Bilateral mesh denoising." ACM Transactions on Graphics (TOG). Vol. 22. No. 3. ACM, 2003.
[2]Lee, Kai-Wah, and Wen-Ping Wang. "Feature-preserving mesh denoising via bilateral normal filtering." Computer Aided Design and Computer Graphics, 2005. Ninth International Conference on. IEEE, 2005.

P.S.
In paper [1], the psudocode Vertex v' = v+n*(sum/normalizer) should be changed into Vertex v' = v-n*(sum/normalizer);
In paper [2], the equation(6) and (7) from LSE computation, n*trans(n) should be changed into trans(n)*n;
otherwise the results are not correct.

About

OpenMesh practices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published