Image Smoothing Using Stationary Wavelet Transform

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
Snapshots
Details
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.
Permanent Citation
"Image Smoothing Using Stationary Wavelet Transform"
http://demonstrations.wolfram.com/ImageSmoothingUsingStationaryWaveletTransform/
Wolfram Demonstrations Project
Published: May 2 2011