/defocus_deblurring

Defocus simulations using Disk, Gaussian, Bessel Convoltuions, Zernike Polynomials, Hanser's method. Deblurring by Wiener Filtering and Richardson Lucy Algorithm.

Primary LanguageJupyter Notebook

Defocus Simulations

In the computer vision community, the usual way of simulating the defocus blur is by convolving the original image with a blur kernel. This kernel is usually chosen to be;

  • Gaussian, or
  • 2D Bessel kernel (i.e., Airy Disk), or
  • A simple disk kernel.

For all of these kernels, the amount of the blur is controlled by the size of the kernel. However, this is not a realistic model of defocus blur. For a more physically meaningful defocus:

are implemented and can be found in the Notebook. As an example, here is a comparison of the Zernike Polynomial based defocus vs. Disk convolution blur:

Disk Comparison

Image Restoration

The implementations of the two fundamental image deblurring algorithms;

  • Wiener Filtering, and
  • Richardson Lucy Algorithm

can be found in the Notebook. As an example, here is the results of applying a naive inverse filtering approach vs. Wiener Filtering for both known and unknown Signal-to-Noise ratios in the presence of small additive noise:

Wiener Comparison