Image Transforms

Image Transforms form an important set of image processing functions that can be simple arithmetic operations on images or complex mathematical operations which convert images from one representation to another. With CUVI Lib we want to make a rich set of transforms available to our users that are either commonly used or stand to benefit from parallel computation on GPUs. At present Hough, Fourier and wavelet transforms are available in CUVI Lib.

Hough Transform

The Hough transform is a technique which can be used to isolate features of a particular shape within an image. Classical Hough transform is most commonly used for the detection of regular curves such as lines, circles, ellipses, etc where it requires that the desired features be specified in some parametric form. Hough transform has many applications e.g. in industrial and medical imaging where images contain feature boundaries which can be described by regular curves. Advantages of the Hough transform include its tolerance of gaps in feature boundary descriptions and robustness to image noise.

Fourier Transform

The Fourier Transform is an important image processing tool which is used to decompose an image into its sine and cosine components. The output of the transformation represents the image in the Fourier or frequency domain, while the input image is the spatial domain equivalent. In the Fourier domain image, each point represents a particular frequency contained in the spatial domain image. The Fourier Transform is used in a wide range of applications, such as image analysis, image filtering, image reconstruction and image compression. CUVI Lib includes two dimensional complex-to-complex radix-2 Fast Fourier Transform (FFT) implementation highly optimized for computation on the GPU.

Discrete Wavelet Transform

Two dimensional discrete wavelet transform has become a standard tool for image analysis and in particular for image and video compression algorithms. CUVI Lib provides both forward and inverse Haar wavelet transforms. More generalized wavelet transforms would become available very soon.

2d dwt haar
Lena image is decomposed into Approximation and Detailed components using 2D DWT and then inverse DWT is applied on DWT composed matrices to reconstruct the original image.

Example: 50% Image Compression (Lossy)

dwt compression
In this example, only 2 of the 4 decomposed matrices are used to reconstruct the source image which gives us 50% compression

CUVILib provides two powerful optical flow based method for computing the dense motion field in image pairs and sequences including the Horn & Schunck and Lucas & Kanade methods. Pyramidal implementations of these methods will also be added to CUVILib very soon.