码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-11-29 21:33:20      阅读:807      评论:0      收藏:0      [点我收藏+]

标签:des   blog   http   io   ar   使用   sp   strong   on   

图像金字塔(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笔记(十)——图像金字塔

标签:des   blog   http   io   ar   使用   sp   strong   on   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!