几种常见的金字塔变换总结
文章目录
图像处理的金字塔方法(Pyramid)是由Burt和Adelson在1983年发表的论文《The Laplacian Pyramid as a Compact Image Code》中首次提出的,用Laplacian Pyramid作为图像的多分辨率表示,用于图像的压缩处理以及机器的视觉特性研究。Burt和Adelson提出的图像金字塔编码方法把原图分解成许多不同空间分辨率的子图像,并把高分辨率的子图像放在下层,把低分辨率的子图像放在上层,对金字塔的每一层分别量化、编码,并对视觉不敏感的低分辨率采用较小的码字进行量化和编码,遍可以达到压缩的目的。
高斯金字塔分解
设原图为 G 0 G_{0} G0,以 G 0 G_{0} G0作为高斯金字塔的零层,先将 l − 1 l-1 l−1层图像 G l − 1 G_{l-1} Gl−1和一个低通滤波器 w w w卷积,再把卷积结果行、列分别做 1 2 \frac{1}{2} 21降采样得到第 l l l层图像 G l G_{l} Gl。其中低通滤波器应该满足以下约束:
- 可分离性:指滤波器的行列可分离
- 归一性:滤波器的和为1
- 对称性: w = w t w=w^{t} w=wt
- 奇偶项等贡献:其实就是指对称性
为了简化书写,将上述的金字塔的逐层分解过程表示为缩小算子Reduce,即每新的一层金字塔分解可以做如下表示:
G l = R e d u c e ( G l − 1 ) (1) G_{l}=Reduce(G_{l-1})\tag{1} Gl=Reduce(Gl−1)(1)
由 G 0 、 G 1 、 . . . . . 、 G N G_{0}、G_{1}、.....、G_{N} G0、G1、.....、GN构成高斯金字塔,其中 G 0 G_{0} G0为金字塔的底层, G N G_{N} GN为金字塔的顶层,总层数为 N + 1 N+1 N+1,可以认为高斯金字塔是多分辨率、多尺度的结果。
拉普拉斯金字塔
先将 G l G_{l} Gl内插放大,得到放大图像 G l ∗ G_{l}^{*} Gl∗,使 G l ∗ G_{l}^{*} Gl∗的尺寸与 G l − 1 G_{l-1} Gl−1的尺寸相同,为此引入与式(1)相对应的放大算子Expand,即:
G l ∗ = E x p a n d ( G l ) (2) G_{l}^{*}=Expand(G_{l})\tag{2} Gl∗=Expand(Gl)(2)
在原有像素间内插的新像素的灰度值是通过对原有像素的灰度值的加权平均确定的,由于 G l G_{l} Gl是对 G l − 1 G_{l-1} Gl−1进行低通滤波得到的且经过降采样,因此 G l 、 G l ∗ G_{l}、G_{l}^{*} Gl、Gl∗的细节均少于 G l − 1 G_{l-1} Gl−1,即 G l ∗ ≠ G l − 1 G_{l}^{*}≠G_{l-1} Gl∗=Gl−1,考察 G l ∗ G_{l}^{*} Gl∗与 G l − 1 G_{l-1} Gl−1间的差别:
{ L P l = G l − E x p a n d ( G l + 1 ) 0 ≤ l < N L P N = G N l = N \left\{\begin{array}{ll} LP_{l}=G_{l}-Expand(G_{l+1}) & 0\le l<N \\ LP_{N}=G_{N} & l=N \end{array}\right. {
LPl=Gl−Expand(Gl+1)LP