Image Smoothing Using Stationary Wavelet Transform

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

This Demonstration illustrates the use of Mathematica's StationaryWaveletTransform and WaveletThreshold to reduce unwanted texture or noise in images.

Contributed by: Stefan Ganev (May 2011)
Open content licensed under CC BY-NC-SA



This Demonstration performs a three-level stationary wavelet transform using the classic Haar wavelet. Two techniques are used to reduce unwanted texture and noise, while trying to keep the main features relatively well defined: (1) wavelet threshold, and (2) mixing different parts of the fluctuations at different levels. The one-level fluctuation is mostly ignored, the two-level fluctuation is partly used, and the three-level fluctuation is fully used. Then a smoothed variation of the original image is synthesized from the manipulated wavelet data using an inverse wavelet transform. Finally, additional sharpening is applied outside the wavelet transform.

The threshold function, threshold level, and other parameters are selected for this specific image. Generally, based on the image noise and texture characteristics, some functions and threshold levels might work better than others. The integrated wavelet analysis and image processing workflow in Mathematica 8 make it easy to experiment with such problems.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.