DIGITAL image processing is an ever expanding and dynamic area with applications reaching out into our everyday life such as medicine, space exploration, surveillance, authentication, automated industry inspection and many more areas. These applications involve different processes like image enhancement, image restoration and object detection.
During image acquisition and processing images are often corrupted by various kinds of noises. Lost of information through Image degradation is a major problem in image processing. Restoration of an image from its degraded version is itself a challenging task. So many algorithms for image restoration for various kind of noises have been developed. Implementing such algorithms on a general purpose computer can be easier, but they are not very time efficient due to additional constraints on memory and other peripheral devices. Application specific hardware implementation offers much greater speed than a software implementation. With advances in the VLSI technology hardware implementation has become an attractive alternative. Implementing complex computational tasks on hardware and by exploiting parallelism and pipelining in algorithms yield significant reduction in execution times.
Image noise is random variation of brightness or color information in images. Noises can be introduced by sensor itself or by the camera or scanner circuitry. Different type of image noises are identified so far, viz., Gaussian noise, Salt and Pepper noise, shot noise, periodic noise etc. The image noises can be recognized either in spatial domain (salt and pepper noise), or in frequency domain (periodic noise). An example of these two type of noises is given below.
Image filtering is a general technique to reduce the effect of noise. Various basic digital filters such as low pass, high pass, band pass or band reject filters are commonly used in noise removal. Along these type of filtering techniques, image processing algorithms apply some special filters such as mean, max or min and median filters. A survey on filtering algorithms can be found in [1]. Filtering algorithms can be easily applied in spatial domain to remove noise like salt and pepper. Some of the noise types such as periodic noise which is periodic stripe like structure on the image can’t be fully removable in spatial domain. The nature of this type of noise is easily recognizable in frequency domain. That is when the domain is transformed from spatial to frequency domain by taking FFT over the image.
The Fourier Transform is of fundamental importance to image processing. It allows us to perform tasks which would be impossible to perform any other way. Frequency domain filtering is a powerful alternative to linear spatial filtering and it is more efficient to use the Fourier transform than a spatial filter for a large filter. The Fourier Transform also allows us to isolate and process particular image frequencies and so perform low-pass and high-pass filtering with a great degree of precision.
Periodic stripe like noise which occurs mainly due to interference between electronic components is unwanted and needs to be filtered out. It is usually removed in spectral domain. Spectral domain transformation is computationally intensive, so it is hard to implement frequency domain denoising algorithms in real time. Frequency domain masked mean and median filter are basic filters to remove such stripe like noise. This work [2,3] introduces a novel architecture to implement frequency domain masked mean and median filter with re-configurable hardware like FPGA for NXN image size where N is equal to power of 2.
The documents attached below presents a detailed FPGA implementation of frequency domain denoising filters such as mean and median filters either in spatial or in frequency domain. I hope the readers will find these documents useful in their projects.