-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
122 lines (91 loc) · 3.94 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
━━━━━━━━
README
━━━━━━━━
Table of Contents
─────────────────
1 About
2 Overview
3 Requirement
4 Compilation
5 Usage
.. 5.1 Parigi
..... 5.1.1 Description
..... 5.1.2 Usage examples
1 About
═══════
Author : Thierry Guillemot <thierry.guillemot.work@gmail.com>,
Julie Delon <julie.delon@parisdescartes.fr> and
Agnès Desolneux <agnes.desolneux@cmla.ens-cachan.fr>
Copyright: (C) 2015 IPOL Image Processing On Line [http://www.ipol.im/]
Licence : GPL V3+
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.
2 Overview
══════════
This source code provides an implementation of the "Parigi": a
patch-based approach to remove impulse-gaussian noise image, as
described in IPOL.
The 'bin/parigi' program reads an PNG image, add impulse-gaussian
noise and then apply the parigi denoising algorithm. The algorithm
estimates the probability of impulse noise and extract similar
patches. From them, it estimates for each pixels an histogram of all
possible values. The denoised image is defined from the best mode of
each histograms.
Only 8bit GRAY PNG images are handled.
3 Requirement
═════════════
The code is written in UTF8 C++, and should compile on any system with
an UTF8 C++ compiler.
The libpng and FFTW header and libraries are required on the system
for compilation and execution. On Linux, just use your package manager
to install it:
┌────
│ sudo apt-get install libpng
│ sudo apt-get install libfftw3-dev
└────
For more information, see [http://www.libpng.org/pub/png/libpng.html]
and [http://www.fftw.org/].
4 Compilation
═════════════
Simply use the provided makefile, with the command 'make'. The
makefile will produce a program called : 'bin/parigi'.
It is possible to compile the program using OpenMP with the command
'make OMP=1'.
The 'parigi' program is used to corrupted an original image with an
impulse-gaussian noise and the apply the parigi restoration.
5 Usage
═══════
5.1 Parigi
──────────
5.1.1 Description
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
The 'parigi' program is used to corrupted an original image with an
impulse-gaussian noise and the apply the parigi restoration. It takes
8 parameters with other optional:
┌────
│ bin/parigi input.png noisy.png denoised.png p_gaussian_noise p_impulse_noise two_step mixed_image verbose
└────
input.png : input image.
noisy.png : resulting noisy image corrupted with an impulse-gaussian
noise.
denoised.png: resulting parigi denoised image.
p_gaussian_noise: noise gaussian standard deviation [0. 255.0].
p_impulse_noise: probability of the impulse noise [0.0, 1.0].
two_step: apply parigi algorithm two times (allows to obtain best visual
results) [0 or 1].
mixed_image: apply a criterium to mix the noisy and the denoised images
(allow to obtain best visual results) [0 or 1].
verbose: activate the verbose mode
5.1.2 Usage examples
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
If you want to compute the parigi restoration of the file
'input/barbara.png' corrupted with a gaussian noise of standard
deviation of 10 and an impulse noise with a probability of 40% by
applying two steps with the mixed criterium without the verbose mode
and saving the noisy image into 'noisy.png' and the denoised image
into 'denoised.png', you can use the command:
┌────
│ bin/parigi input/barbara.png noisy.png denoised.png 10 0.4 1 1 0
└────