Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Guided Denoising

This code implements the denoising algorithm in the following paper:

  • Wangyu Zhang, Bailin Deng, Juyong Zhang, Sofien Bouaziz, Ligang Liu. Guided mesh normal filtering. Pacific Graphics 2015.

It also implements the denoising methods from the following papers for comparison:

  • Shachar Fleishman, Iddo Drori, and Daniel Cohen-Or. 2003. Bilateral mesh denoising. ACM Trans. Graph. 22, 3 (July 2003), 950-953.
  • Thouis R. Jones, Frédo Durand, and Mathieu Desbrun. 2003. Non-iterative, feature-preserving mesh smoothing. ACM Trans. Graph. 22, 3 (July 2003), 943-949.
  • Xianfang Sun, P. L. Rosin, R. R. Martin, and F. C. Langbein. 2007. Fast and Effective Feature-Preserving Mesh Denoising. IEEE Transactions on Visualization and Computer Graphics 13, 5 (September 2007), 925-938.
  • Youyi Zheng, Hongbo Fu, Oscar Kin-Chung Au, and Chiew-Lan Tai. 2011. Bilateral Normal Filtering for Mesh Denoising. IEEE Transactions on Visualization and Computer Graphics 17, 10 (October 2011), 1521-1530.
  • Lei He and Scott Schaefer. 2013. Mesh denoising via L0 minimization. ACM Trans. Graph. 32, 4, Article 64 (July 2013).

The code has been tested on the following platforms:

  • Windows 10 with Qt 5.11.2, Qt Creator 4.7.1, and MSVC 2017 Community Edition (older versions of MSVC may not work);
  • Debian Buster with Qt 5.11.1, Qt Creator 4.6.2, and GCC 8.2.0.

Compiling the source code:

Make sure you have Qt ( installed . Then open the file src/ with Qt Creator, and build the source code.


The following table explains the functionality for the GUI icons.

icon functionality
open read a mesh from file (supports obj, ply and off files)
save save the mesh to file
point render vertices of the mesh
edge render edges of the mesh
face render faces of the mesh
background change the background color of the OpenGL area
about information about this software
Original Mesh show the original mesh
Noisy Mesh show the noisy mesh
Denoised Mesh show the denoised mesh
Clear clear the mesh


Please see the supplementary material for details about the parameters in each mesh denoising algorithm or see the code of each algorithm (function initParameters() in .cpp).


This software is released under GNU LGPL V3.


If you have any question, please contact Wangyu Zhang <> or Bailin Deng <>.


Guided Mesh Normal Filtering







No releases published


No packages published