Chapter 7

The Wavelets Domain

Wavelet transforms have acquired great popularity in digital image processing over the last two decades, and they may be best known for their application in JPEG2000 compression. The first machine learning-based steganalysis technique to gain widespread popularity, due to Lyu and Farid (2003), calculates the features from a wavelet representation of the images.

We will start with a high-level and visual view on wavelets, and how they are useful for image analysis. In Section 7.2, we explain how wavelet transforms are calculated in theory and in Python. The remaining sections will present common features which can be extracted from the wavelet domain, including the pioneering feature set of Lyu and Farid (2003).

7.1 A Visual View

An example of a one-level wavelet transform is shown in Figure 7.1(b), using the simple and well-known Haar wavelet. Visually, we can see that the upper left component of the transform image is an accurate reproduction at lower resolution. This is called the low-pass (or sometimes low-frequency) component L. The other three components are called high-pass components and give high-frequency information. The three high-pass components H, V and D represent local change in different directions, namely horizontal change (upper right), vertical change (lower left) and diagonal change (lower right), respectively. In the Haar wavelet, the high-pass components simply give the difference between one pixel and its neighbour.

Get Machine Learning in Image Steganalysis now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.