首页 > 其他 > 详细

OpenCV笔记(十)——图像金字塔

时间:2014-11-29 21:32:39      阅读:499      评论:0      收藏:0      [点我收藏+]

图像金字塔(Image Pyramids)可以用来处理图像的缩放。

有两种广为使用的图像金字塔:高斯金字塔和拉普拉斯金字塔。

这里介绍高斯金字塔。

高斯金字塔有两种操作:upsample和downsample,可以理解为图像的放大和缩小。

以下图为例:

 bubuko.com,布布扣bubuko.com,布布扣

图像如果downsample,则col和row均变成之前的1/2,图像的面积也为之前的1/4。等价于金字塔的层数升高一层,面积为先前的四分之一。

如果是upsample,则col和row均是之前的2倍,则图像面积为之前的4倍。等价于金字塔下降一层。

高斯金字塔中的downsample的步骤:

1. 将图像与一个高斯核做卷积。高斯核可以是如下的规模:

bubuko.com,布布扣

2. 移除偶数的行和偶数的列。

相似地,高斯金字塔中的upsample的步骤:

1. 将图像每隔一行、每个一列插入一个新行、新列,新像素初始化为零。

2. 将扩大后的图像与一个高斯核做卷积。这个高斯核是downsample的4倍,以补偿新像素带来的信息损失。

 

OpenCV中给出了pyrDown和pyrUp函数,用来实现downsample和upsample的功能:

void pyrDown(InputArray src, OutputArray dst, const Size& dstsize=Size(), int borderType=BORDER_DEFAULT )

参数dstsize一般为Size(src.cols/2, src.rows/2)

void pyrUp(InputArray src, OutputArray dst, const Size& dstsize=Size(), int borderType=BORDER_DEFAULT )

参数dstsize一般为Size(src.cols * 2, src.rows * 2)

 

OpenCV笔记(十)——图像金字塔

原文:http://www.cnblogs.com/nipan/p/4131836.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!