-
Notifications
You must be signed in to change notification settings - Fork 1
mnhrdt/ipol_bsde
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#TITLE Implementation of Image Denoising based on Backward Stochastic Differential Equations #VERSION 2.0 #AUTHOR Dariusz Borkowski <[email protected]> #CONTENTS ./BSDE.cpp - This program reads PNG images, runs BSDE method and writes PNG images. Only 8bit (grayscale and RGB) PNG images are handled. ./libdenoising.cpp, ./libdenoising.h - Implementation of BSDE method: Algorithm 1, Algorithm 2, Algorithm 3. This source code provides an implementation of the BSDE denoising algorithm. ./lib.cpp, ./lib.h - Implementation of classes dbImageRGB and dbImage representing RGB and greyscale images and operations on them. ./io_png.c, ./io_png.h - PNG read/write interface by Nicolas Limare <[email protected]>. ./lena.png, ./dice.png, ./traffic.png, ./computer.png, ./book.png, book10.png - Test PNG images. The code is written in C/C++ and should compile on any system with an g++ compiler. The libpng header and libraries are required on the system for compilation and execution. The implementation uses OPENMP which not supported by old versions of g++. Ubuntu 22.04 LTS installation: sudo apt-get install make sudo apt-get install g++ sudo apt-get install libpng-dev # COMPILATION INSTRUCTIONS Simply use the provided makefile, with the command `make`. # USAGE usage: ./BSDE original.png sigma noisy.png denoised.png add_noise c BSDE takes 6 parameter: * original.png : initial noise free image (PNG image) * sigma : the noise standard deviation (non negative real number) * noisy.png : noisy image used by the denoising algorithm (PNG image) * denoised.png : denoised image (PNG image) * add_noise : the add noise option (integer number from the set {0,1}) * c : the enhancing parameter c (non-negative real number from the range [0, 1]) # EXAMPLES OF USE Use the provided makefile, with the command `make tests` Example 1. We add noise with a standard deviation sigma=20 to lena.png original image and reconstruct it without the enhancing effect c=0.0. We save the noisy and reconstructed image as in.png and out.png, respectively. The program displays the PSNR value of the original and reconstructed image. ./BSDE lena.png 20 in.png out.png 1 0.0 Example 2. We reconstruct lena.png noisy image with a sigma=10 and the enhancing effect c=0.4. We save the noisy and reconstructed image as in.png and out.png, respectively. In this case, we omit the display of the PSNR value. ./BSDE lena.png 10 in.png out.png 0 0.4 # COPYRIGHT AND LICENSE INFORMATION Copyright (c) 2023 Dariusz Borkowski This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published