File Exchange

image thumbnail

Wavelet Decomposition For Images

version 1.1 (207 KB) by

The demo decouples the wavelet operations from the plotting.



View License

main executing reference usage: observeWaveletDecompositionBenchmark_N_levels.m

The objective is to illustrate wavelet decomposition, and to describe how operations may be done in the wavelet domain before the reconstruction. The demo decouples the wavelet operations (transform, operation in wavelet domain, and reconstruction) from the plotting.

A PSNR and MSE describes the possible distortion (however minimal) of the forward and inverse wavelet transform.

* Caveat: The image display may be subjected to the selected target image. The objective is to provide a simple framework for the understanding of working with wavelets.

If the educational demo have more elegant presentation, please do not hesitate to suggest and send feedback to author.

Thank you.

Michael Chan JT

Comments and Ratings (11)

nayyi myat

Michael Chan

Michael Chan (view profile)

Hi Mehdi,
You can extract the coefficients at different levels as an obversation with any existing image(s). Would you have a wavelet feature extraction algorithm in mind or a paper you have referred to?

mehdi hym

Hi Michael Chan,first of all i thanking you for this usefull code , so in my application(hand vein recognition pattern) i need to use wavelet like feature extraction in order to classify data,so if give me a hand Mr Michael.

Michael Chan

Michael Chan (view profile)

Hi Rewati, it is. It's a form of lossy compression where you keep only the coefficients of the Approximate region(s).


Rewati (view profile)

plz can u tell me that decomposed image i.e.(approximated pixel value 'A')through DWT is same as a compressed image??

Michael Chan

Michael Chan (view profile)

Hi Diógenes Diógenes,

Did you run the observeWaveletDecompositionBenchmark_N_levels.m file? As stated in the readme.txt, it is the main executing reference usage file.

For a single decomposition level, set

levelOfDecomposition = 1; % level N = 1

For the inquiries regarding the variables, in image wavelet decomposition, the segments are divided according to the (H)orizontal, (V)ertical, (A)pproximate and (D)iagonal regions.

Usually, the coefficients are represented in the form (in the example of 1 level wavelet decomposition):
coeff_A1, coeff_H1;
coeff_V1, coeff_D1;

I hope that helps.

hi, I am a new user of Matlab, I'm trying to use the function, but is returning the error:

?? Undefined function or variable 'H'.

What H and V represent and how they should be defined?

I'm trying to make a single decomposition level grayscale images. How can I make the decomposition into multiple images at once? Thank you!


Please mention that wavelet toolbox is needed here so everyone knows before we download it and find out it doesnt work.



Adnan (view profile)


Joan (view profile)

Clear and clean code, well commented, very nice code. People should learn to code like this. Thanks a lot for this !



Wavelet toolbox is required.

MATLAB Release
MATLAB 7.10 (R2010a)

Inspired by: Plot wavelet image (2D) decomposition

Inspired: WAVELET transform for image

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today