Archive for June, 2006

Image Denoising

June 29, 2006

I have been rather lazy about blogging about the work I am doing, but today I was pretty excited about the work done so thought of putting them online as well :). I started out writing a jpeg2000 load plug-in but was experiencing some problems using an external library. It was getting frustrating so I thought I would suspend that work and concentrate on other goals that I had in mind.

I have got a working denoising plug-in which is currently a little selective in its functionality, but works well. I will be working on making it more flexiable during the next couple of days. The results are shown below. Denoising basically attempts to remove noise from an image (here the noisy cats image). One way to remove noise is to blur the image, but this is not very effective as it removes high frequency components in an image.

Cats with noise

noisy image
Blurred cats image

blurred image

Denoising cats image

denoised image
original cats image

original image

The current implementation tries to restore high frequency and the results look better than the blurred images. More testing will be done to further confirm this. In the next couple of days I will be working on generalizing the implementation. It currently only works on sqaured images with dimension of the form 2^m by 2^m. There are memory allocation issues the size is not of this form. Also, the implementation currently uses Daubechies wavelet of length 8. This can be changed for better results. Additionally, I will also work on improving the speed of the code. All this should not take more than 2 days.