Image Processing -- Haar Transfrom

In summary, the HaarWaveletTransform is a method used to compress images by dividing an array of N sample points into two arrays, one with averaged adjacent sample points and the other with computed finite differences between sample points. This process can be applied recursively to obtain a low resolution averaged image and multiple levels of the computed finite differences. This method still maintains the same number of data points as the original array, resulting in memory savings. The filtering formulas used in this transformation are obtained through solving matrix equations for the wavelet basis functions. To learn more about this method, you may want to read the article provided.
  • #1
PabloBot
3
1
I'm looking at this link: HaarWaveletTransform. Given an array of N sample points, it subdivides the array into two arrays of size N/2:

Array1: Averages adjacent sample points. Array2: Computes a finite difference between sample points.

You can then apply recursively k many times. In the end you will get a low resolution averaged image and multiple levels of Array2 which help invert the operation to recover the original data.

After the transform you still have as many data points as you originally had. So my questions are:

  1. How does this save memory? I thought this was supposed to help with compression?
  2. What is the point? Are some operations easier when you have the down sampled image and multiple levels of Array2?
  3. How do you get these filtering formulas? I thought for discrete wavelet transform you would have to solve some matrix equation to compute the coefficients for the wavelet basis functions.
 
Technology news on Phys.org

1. How does Haar transform work?

The Haar transform is a mathematical technique used to decompose an image into its high and low frequency components. It works by dividing the image into smaller sub-images, and then calculating the difference between the average value of the pixels in each sub-image. This process is repeated until the desired level of detail is achieved, resulting in an image with coefficients that represent the different frequency components.

2. What are the applications of Haar transform in image processing?

Haar transform has various applications in image processing, including image compression, feature extraction, and denoising. It is also used in face recognition, where it helps in identifying and extracting facial features from an image.

3. How does Haar transform compare to other image processing techniques?

Compared to other image processing techniques, Haar transform is known for its speed and efficiency. It requires fewer mathematical operations, making it a popular choice for real-time applications. However, it may produce artifacts in the decompressed image, which can be a disadvantage in certain applications.

4. What are the limitations of Haar transform?

One of the main limitations of Haar transform is its sensitivity to noise and small changes in the image. This can result in a loss of information and affect the quality of the decompressed image. Additionally, it may not be suitable for highly complex images or those with varying lighting conditions.

5. How can Haar transform be implemented in image processing?

Haar transform can be implemented using various programming languages and software tools. The most commonly used is the OpenCV library, which provides functions for Haar transform and other image processing techniques. It can also be implemented using MATLAB, Python, or other programming languages that support mathematical operations.

Similar threads

  • Programming and Computer Science
Replies
1
Views
3K
  • Programming and Computer Science
Replies
5
Views
1K
  • Astronomy and Astrophysics
2
Replies
43
Views
10K
  • Biology and Medical
Replies
1
Views
913
  • Set Theory, Logic, Probability, Statistics
Replies
9
Views
3K
Replies
9
Views
1K
  • General Engineering
Replies
5
Views
2K
Replies
2
Views
886
  • Programming and Computer Science
Replies
12
Views
3K
Back
Top