原文链接: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。

最新文章

  1. WCF框架处理流程初探
  2. jsp动态include和静态Include
  3. [转载]堆排序(HeapSort) Java实现
  4. dubbo Linux 解决:nc: command not found
  5. hdu 5755 2016 Multi-University Training Contest 3 Gambler Bo 高斯消元模3同余方程
  6. 内容自适应UILabel
  7. 使用json-lib进行Java和JSON之间的转换【转载】
  8. JavaWeb中filter的详解及应用案例
  9. Spring源码地址和相关介绍的网址
  10. python学习笔记之11:图像用户界面
  11. select count(*)优化 快速得到总记录数
  12. 回味Python2.7——笔记1
  13. java基础day02
  14. Leetcode_169_Majority Element
  15. 搭建Hadoop的环境
  16. UVa LA 3266 - Tian Ji -- The Horse Racing 贪心,不只处理一端,也处理另一端以理清局面 难度: 2
  17. NIO学习笔记
  18. Python 13 简单项目-堡垒机
  19. java 集合(三)List接口
  20. 使用SpringAOP获取一次请求流经方法的调用次数和调用耗时

热门文章

  1. 优秀的数据序列和还原类----TSimpleMsgPack
  2. docker 配置 direct-lvm
  3. Android判断屏幕锁屏的方法总结
  4. python远程访问hive
  5. XSS学习分支图
  6. 性能測试JMeter趟的坑之JMeter的bug:TPS周期性波动问题
  7. angularJS---自己定义过滤器
  8. Python爬取韩寒所有新浪博客
  9. 编译spark源码 Maven 、SBT 2种方式编译
  10. BAPI_PO_CEATE 与PO_1