原文链接:http://blog.csdn.net/davebobo/article/details/51885043

【图像金字塔】

图像金字塔这个词,我们经常在很多地方可以看到。它是图像多尺度表达的一种,最主要的是用于图像的分割。同时,图像金字塔也被广泛用于各种视觉应用中。 
图像金字塔是一个图像集合,集合中所有的图像都源于同一个原始图像,而是通过对原始图像连续降采样获得,直到达到某个终止条件才停止降采样。我们可以通过下图来形象的说明图像金字塔的概念。在金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。在金字塔中,层级越高,则图像越小,分辨率越低。

在文献中,我们经常遇到两种很典型的图像金字塔-高斯金字塔和拉普拉斯金字塔。

高斯金字塔:向下降采样图像 
拉普拉斯金字塔:从低层图像中向上采样重建图像。

具体的过程,我们可以这么描述下:

高斯金字塔:金字塔从i层生成第i+1层,我们要先用高斯核对Gi进行卷积,然后,删除所有偶数行和偶数列。这样,新得到的图像面积会变为源图像的四分之一。循环上述过程,即可产生整个金字塔。

拉普拉斯金字塔:图像首先在每个维度上扩大为原来的两倍,新增的行以0填充,然后给指定的滤波器进行卷积(实际上是一个在每一维上都扩大为2倍的过滤器)去估计“丢失”像素的近似值。得到后的图像与原来的图像相比较会发觉比较模糊,丢失了一些信息。为了恢复出原来的图像,我们需要获得这些丢失的信息,这些信息就构成了拉普拉斯金字塔。

OpenCV中给出了两个函数,分别提供了从金字塔上一级图像生成下一级图像以及将已知图像在每一个维度上都扩大两倍的函数cvPyrDown()和cvPyrUp():

 void cvPyrDown(
IplImage* src,
IplImage* dst,
IplFilter filter=CV_GAUSSIAN_5×
) void cvPyrUp(
IplImage* src,
IplImage* dst,
IplFilter filter=CV_GAUSSIAN_5×
)

PyrDown函数:

Smoothes an image and downsamples it.

平滑图片并下采样

void pyrDown(InputArraysrc, OutputArraydst, const Size&dstsize=Size());

Parameters:    
    src – Source image.

原图片
    dst – Destination image. It has the specified size and the same type as src .

目标图片 它有指定的对象和相同的类型和原图片
    dstsize –
    Size of the destination image. By default, it is computed as Size((src.cols+1)/2, (src.rows+1)/2) . But in any case, the following conditions should be satisfied:

目标图像大小。默认情况下,它是计算尺寸((SRC.列+ 1)/ 2、(SRC.行+ 1)/ 2)。但在任何情况下,应满足以下条件:

The function performs the downsampling step of the Gaussian pyramid construction. First, it convolves the source image with the kernel:

该函数执行高斯金字塔结构下采样的步骤。首先,它与内核的源图像进行卷积:

Then, it downsamples the image by rejecting even rows and columns.

然后,它再下采样图像的行和列。

pyrUp函数:

Upsamples an image and then smoothes it.

上采样图像然后平滑它。

void pyrUp(InputArray src, OutputArray dst, const Size& dstsize=Size());

Parameters:

src – Source image.

原图片

dst – Destination image. It has the specified size and the same type as src .

目标图片 它有指定的对象和相同的类型和原图片

dstsize –
    Size of the destination image. By default, it is computed as Size(src.cols*2, (src.rows*2) . But in any case, the following conditions should be satisfied:

目标图像大小。默认情况下,它是计算尺寸((SRC.列+ 1)/ 2、(SRC.行+ 1)/ 2)。但在任何情况下,应满足以下条件:

The function performs the upsampling step of the Gaussian pyramid construction though it can actually be used to construct the Laplacian pyramid. First, it upsamples the source image by injecting even zero rows and columns and then convolves the result with the same kernel as in pyrDown() multiplied by 4.

该函数执行采样步骤的高斯金字结构虽然它实际上可以用来构建拉普拉斯金字塔。首先,它下采样原图像的行和列,然后用相同的内核卷积的结果作为pyrdown()乘以4。

【转】图像金字塔PyrDown,PyrUP的更多相关文章

  1. 机器学习进阶-图像金字塔与轮廓检测-图像金字塔-(**高斯金字塔) 1.cv2.pyrDown(对图片做向下采样) 2.cv2.pyrUp(对图片做向上采样)

    1.cv2.pyrDown(src)  对图片做向下采样操作,通常也可以做模糊化处理 参数说明:src表示输入的图片 2.cv2.pyrUp(src) 对图片做向上采样操作 参数说明:src表示输入的 ...

  2. opencv —— resize、pyrUp 和 pyrDown 图像金字塔(高斯金字塔、拉普拉斯金字塔)与尺寸缩放(向上采样、向下采样)

    我们经常会将某种尺寸的图像转化为其他尺寸的图像,如果需要放大或者缩小图像的尺寸,在 OpenCV 中可以使用如下两种方法: resize 函数,最直接的方法. pyrUp 和 pyrDown 函数,即 ...

  3. OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

    这篇已经写得很好,真心给作者点个赞.题目都是直接转过来的,直接去看吧. Reference Link : http://blog.csdn.net/poem_qianmo/article/detail ...

  4. 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...

  5. OpenCV探索之路(五):图片缩放和图像金字塔

    对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_AREA来插值:若要放大图像,推荐使用 ...

  6. Python+OpenCV图像处理(十一)—— 图像金字塔

    简介:图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构.简单来说,图像金字塔就是用来进行图像缩放的. 进行图像缩放可以用图像金字塔,也可以使用 ...

  7. 学习 opencv---(12)OpenCV 图像金字塔:高斯金字塔,拉普拉斯金字塔与图片尺寸缩放

    在这篇文章里,我们一起学习下 图像金字塔 的一些基本概念,如何使用OpenCV函数pyrUp和pyrDown 对图像进行向上和向下采样,以及了解专门用于缩放图像尺寸的resize函数的用法.此博文一共 ...

  8. opencv学习笔记(七)---图像金字塔

    图像金字塔指的是同一图像不同分辨率的子图的集合,有向下取样金字塔,向上取样金字塔,拉普拉斯金字塔....它是图像多尺度表达的一种,最主要的是用于图像的分割 向下取样金字塔指高分辨率图像向低分辨率图像的 ...

  9. OpenCV图像金字塔

    图像金字塔 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样. 原理 Note 以下内容来自于Bradski和Kaehler的大作:  ...

随机推荐

  1. react 起手式

    http://blog.csdn.net/zhouzhiande/article/details/52349344 http://blog.csdn.net/zhouzhiande/article/d ...

  2. VC/MFC中计算程序运行时间

    转自原文VC/MFC中计算程序运行时间 说明,这四种方法也分别代表了类似的实现,在MFC中,所可以从哪些类集合去考虑. 方法一 利用GetTickCount函数(ms) CString str; lo ...

  3. 【sourcetree】sourcetree连接远程仓库需要登陆但是一直登陆不上的问题 解决方法

    授权类型选用 基础 .只需要登陆你在bitbucket的用户名和密码 如下 .即可成功连接远程仓库

  4. [Servlet&JSP] 标准标签

    在JSP的规范中提供了一些标准标签(Standard Tag),全部的容器都支持这些标签,它能够协助编写JSP时降低Scriptlet的使用. 全部的标准标签都使用jsp:作为前置.这些标准标签是在J ...

  5. MYSQL时间戳的处理

    date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串 后面的 '%Y%m%d' 主要是将返回值格式化 例如: mysql>SELECT FROM ...

  6. 【转载】Open Live Writer 安装

    Open Live Writer来源 Windows Live Writer在2012年就停止了更新,Open Live Writer是由Windows Live WriterWriter更名而来,是 ...

  7. ScrollView白边问题

    在Android开发所使用的ScrollView中..兼容比較低的版本号的时候(比方14)会出现难看的白边.这时假设使用的是xml布局文件话设置ScrollView的android:fadingEdg ...

  8. [Other]来做一个微信打印机吧 -- 微信打印的设计思路參考

    项目源代码地址:https://github.com/callmewhy/why-wechat-printer 近期微信打印机小火了一把.比方印美团.747微信打印机,都是利用微信公共平台实现照片的打 ...

  9. Linux MySQL主从复制(Replication)配置

    MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...

  10. 【项目发起】千元组装一台大型3D打印机全教程(一)前言

    前言 最近又碰到了大尺寸模型打样的需求,我这台17cm直径的kossel mini就捉襟见肘了.怎么办呢,这个时候kossel的好就体现出来了,随意扩展,那么就自己做个kossel-max吧.为了向前 ...