图像金字塔与图像缩放

图像金字塔:金字塔底部图像分辨率高,尺寸大,金字塔顶部分辨率低,尺寸小。

这里与其说是金字塔,不如说是倒金字塔,因为这里说的向上就是向尺寸更大,向下就是向尺寸更小,所以倒金字塔与这些动词更相符。

对应的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()则比较自由。



你可能感兴趣的:(图像金字塔与图像缩放)