Tasks

From a number of images which are corrupted by noise the original image shall be recovered. The corrupted images are generated from an identical perspective (camera position remains unchanged). However each image has additional random artifacts superimposed. Using all available images we want to find the most common part of the image.

A series of notebooks has been set up to test some ideas how to clean up those images to obtain a de-noised image.

The Jupyter notebook make_noisy_images.ipynb uses a un-corrupted image from which a series of corrupted images are derived. With these images various de-noising algorithms can be tested.

The Jupyter notebook img_denoising_principle.ipynb implements an algorithm to compute a *de-noised* image from a series of images which have noisy artifacts. The procedure of this notebook basically does the following:

  • collects the pixels of the images
  • applies the median to each collection of pixels

The algorithm is rather slow and shall only demonstrate the principle of operation. Another notebook img_denoising_fast.ipynb demonstrates how to speed up the de-noising operation by processing chunks of rows of image data (instead of processing single rows).

Jupyter notebooks

The Jupyter notebooks can be found on GitHub:

https://github.com/michaelbiester/ImageProcessing

The notebooks are also available as PDF documents for better readability:

https://github.com/michaelbiester/ImageProcessing/blob/master/make_noisy_images.pdf

https://github.com/michaelbiester/ImageProcessing/blob/master/img_denoising_principle.pdf

https://github.com/michaelbiester/ImageProcessing/blob/master/img_denoising_fast.pdf