Wiener Filtering using OpenCV

This GitHub project uses OpenCV (C++) to implement Wiener Filtering simulation
It uses the Gaussian function or more specifically  its Fourier Transforms (FT) as described in [1].

The image is first translated where the first and third quadrants are swapped. The second and fourth quadrants are swapped likewise. The FT of the image is compute. It is then multiplied with the FT of the Gaussian. The inverse transform is then translated once again and polluted with noise. Wiener filtering is used to deconvolve the image. The procedure is the same  translate, FT the image, multiply by FT of Wiener filter, and translate again.

It was developed on Windows but it uses just OpenCV GUI and hence should work with any operating system with OpenCV.


[1] Weisstein, Eric W. “Fourier Transform–Gaussian.” From MathWorld–A Wolfram Web Resource.

About The Sunday Programmer

Joe is an experienced C++/C# developer on Windows. Currently looking out for an opening in C/C++ on Windows or Linux.
This entry was posted in Image Processing. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s