cv.pyrUp() 和cv.pyrDown()

函数作用

  1. 图像金字塔中的向上和向下采样分别通过 pyrUp 和 pyrDown 实现。这里的向上向下采样,是针对图像的尺寸而言的(和金字塔的方向相反),向上就是图像尺寸加倍,向下就是图像尺寸减半。
  2. 对于 pyrUp,图像首先在每个维度上扩大为原来的两倍,新增的行和列(偶数行和列)以 0 填充。然后用指定的滤波器进行卷积(实际上是一个在每个维度上都扩大为原来两倍的过滤器)去估计”丢失“像素的近似值。
  3. 对于 pyrDown,先用高斯核对图像进行卷积,然后删除所有偶数行和偶数列,新的到的图像面积就会变成源图像的四分之一。
  4. 注意:pyrUp 和 pyrDown 不是互逆的

高斯金字塔

高斯金字塔是通过高斯平滑和亚采样获得的一系列采样图像。

  1. 向下采样方法:① 对图像进行高斯内核卷积;② 将所有偶数行和列去除。
  2. 向上采样方法:① 将图像在每个方向上扩大为原来的两倍,新增的行和列以 0 填充;② 使用原先同样的内核(乘以 4)与放大后的图像卷积,获得”新增像素“的近似值。在缩放过程中已经丢失了一些信息,如果想在缩放过程中减少信息的丢失,就需要用到拉普拉斯金字塔。

拉普拉斯金字塔

拉普拉斯金字塔是通过源图像减去先缩小再放大的图像的一系列图像构成。

函数定义

void pyrUp(InputArray 		src,
		   OutputArray		dst,
		   Size				Size(src.cols * 2, src.rows * 2),
		   int				borderType = BORDERDEFAULT
		   )
		   
void pyrDown(InputArray 		src,
		     OutputArray		dst,
		     Size				Size(src.cols * 2, src.rows * 2),
		     int				borderType = BORDERDEFAULT
		   )

版权声明:本文为qq_45279570原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。