Haar变换
这是小波变换的第二篇,我们继续谈Haar变换。在第一篇中,我们介绍了一位情况下的Haar变换,这篇博文中主要介绍二维Haar变换。最后,通过一个图像压缩的案例说明二维Haar变换的应用。
原理说明
给定一个二维信号,我们这里假设是一个 4 × 4 4\times4 4×4的图片,
f = [ 2 1 5 6 7 6 5 8 2 1 5 5 7 7 2 10 ] f=\begin{bmatrix}2&1&5&6\\7&6&5&8\\2&1&5&5\\7&7&2&10\end{bmatrix} f=⎣⎢⎢⎡27271617555268510⎦⎥⎥⎤
如何进行二维的哈尔变换呢?
步骤是这样的:(1)首先,沿着矩阵的每一行做一维的Haar变换;(2)然后,沿着矩阵的每一列做一维的哈尔变换;(3)对于每个低频分量矩阵(近似信息)重复步骤(1)和(2)直到完成指定的等级划分。下图给出了两级划分的示意图:
这里的A表示近似信息(approximation coefficients),H表示水平细节信息(horizontal detail coefficients),V表示垂直细节信息(vertical detail coefficients),D表示对角线细节信息(diagonal detail coefficients)。很多数学软件中是这样称呼的,了解了这个可以帮助我们快速上手软件进行实际操作。
行分解和列分解的顺序是可以互换的,保持一致即可。
明白了基本原理,下面我们来进行实际计算,对于 f f f,(如果不清楚如何做一维高频和低频分解,可参看博文《小波变换一之Haar变换》)
第一次行分解得到低频信息 L = [ 3 2 11 2 13 2 13 2 3 2 5 2 7 2 6 2 ] L=\begin{bmatrix}\frac{3}{\sqrt{2}}&\frac{11}{\sqrt{2}}\\\frac{13}{\sqrt{2}}&\frac{13}{\sqrt{2}}\\\frac{3}{\sqrt{2}}&5\sqrt{2}\\7\sqrt{2}&6\sqrt{2}\end{bmatrix} L=⎣⎢⎢⎢⎡2