This project contains a quite fast C++ implementation of the adaptive Wiener filter. The source code requires OpenCV library to properly work.
Contributors
- OpenCV 3.1.0 or higher (http://opencv.org/downloads.html);
- One of your favourite IDE/compiler: Visual Studio 2013 or higher, Xcode 5.0.1, gcc 4.7 or higher, .. (with C++11 support).
If you think it is convenience, you can use Cmake to create a project running this code. If OpenCV are installed in your environment, the "CMakeLists.txt" file (included in this repository) will automatically find OpenCV path and create the project.
The adaptive Wiener's filter estimates the local mean and variance around each pixel using the following formulas:
and
where
where
[1] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, p. 538, equations 9.26, 9.27, and 9.29.
[2] https://it.mathworks.com/help/images/ref/wiener2.html (Accessed on 15 March 2017)