图像金字塔:金字塔底部图像分辨率高,尺寸大,金字塔顶部分辨率低,尺寸小。
这里与其说是金字塔,不如说是倒金字塔,因为这里说的向上就是向尺寸更大,向下就是向尺寸更小,所以倒金字塔与这些动词更相符。
对应的Opencv函数也是如此
pyrUp函数:向上采样函数,图像首先在每个维度上扩大两倍,新增的行以0填充,然后通过内部的卷积计算去估计丢失的像素
pyrDown函数:向下采样函数,这是一个会丢失信息的函数
高斯金字塔(Gaussianpyramid)——用来向下采样图像。
在高斯金字塔(Gaussianpyramid)中,向下采样就是为了获取层级为Gi+1的金字塔,(i+1层比i层尺寸小,分辨率低,更靠近金字塔尖处)的图像:
(1)对图像Gi进行高斯内核卷积;
(2)将所有偶数行和列去除;
高斯金字塔(Gaussianpyramid)向上采样的做法:
(1)将图像扩大为原来的两倍,新增行和列以0填充
(2)使用先前同样的内核(乘以4)与放大后的图像卷积,获得“新增像素“的近似值。(可想而知,结果比较模糊)
拉普拉斯金字塔(Laplacianpyramid)——用来从金字塔底层重建上层未采样图像。
基本就是将(x,y)映射到(2x+1,2y+1)的位置,可以理解为高斯金字塔的逆形式。
图像缩放:resize()函数
向上采样:pyrUp()函数
向上采样并模糊一张图片,说白了就是放大,空白行用0填充。(执行高斯的向上采样操作)
向下采样:pyrDown()函数
向下采样并模糊一张图片,说白了就是缩小。(执行高斯的向下采样操作)
这时,会有一个疑问,这两种处理图像大小的方法有何区别呢?我认为图像金字塔处理后的图像也是按照一定比例的,而且只能做一次采样,所以比例一般为2或者1/2.
而resize()则比较自由。