图像金字塔与图像尺寸变化(放大,缩小)是不同的.一般对图像进行放大或缩小,可以使用opencv resize 函数.图像金字塔可以解决图像分割,压缩变换问题.
简单来说,图像金字塔就是以一幅图像为金字塔底端,从下到上,分辨率逐渐降低,图像越来越小的一系列图像集合.我们常用的图像金字塔分为高斯金字塔和拉普拉斯金字塔.高斯金字塔是对第n层的图像进行上/下采样获得n-1/n+1层图像的过程.高斯金字塔丢失的数据形成了拉普拉斯金子塔,
高斯金字塔
高斯金字塔的构建方法分为向上/ 向下两个过程.这里要解释上跟下的定义.从金字塔角度的来看,越高应该是向上,越低应该是向下.但是我们这里定义的上下与这个不同.我们以图像的分辨率的角度来定义上下,越往下,图像的分辨率越小,越模糊,图像越小.越往上,图像的分辨率越大,越清晰,图像越大.
高斯金字塔向下过程
1 对图像第G_n层进行高斯内核卷积,进行高斯模糊
2 将所有偶数行和列去除,得到G_n+1的图像.
显然,结果图像只有原图的1/4。通过对输入图像G_n(原始图像)不停迭代以上步骤就会得到整个金字塔。
高斯金字塔向上过程
1 将图像在每个方向扩大为原来的两倍,新增的行和列以0填充
2 使用先前同样的内核(乘以4)与放大后的图像卷积,得到放大后的图像
可以发现,放大之后的图像与原来的图像相比会发觉比较模糊,因为在缩放的过程中已经丢失了一些信息,如果想在缩小和放大整个过程中减少信息的丢失,这些数据形成了拉普拉斯金字塔。
值得注意的是,金字塔的向上向下过程是不可逆的.因为图像向下的时候,本质上是进行图像压缩,在压缩的过程已经造成信息的丢失了.在opencv 中,PyrUp,PyrDown 可以实现向上,向下金字塔.
拉普拉斯金字塔
拉普拉斯金字塔在高斯金字塔图像的基础上,对高斯金字塔每层源图像对应减去先缩小后再放大的图像的残差图。
用数学公式表达十分简洁,,即G_n层原图像与G_n+1层向上采样后与高斯核卷积结果的残差.在opencv中,可以G(n) - PyrUp(G(n+1))表示.