【转】图像金字塔PyrDown,PyrUP
原文链接: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.cv2.pyrDown(对图片做向下采样) 2.cv2.pyrUp(对图片做向上采样)
1.cv2.pyrDown(src) 对图片做向下采样操作,通常也可以做模糊化处理 参数说明:src表示输入的图片 2.cv2.pyrUp(src) 对图片做向上采样操作 参数说明:src表示输入的 ...
- opencv —— resize、pyrUp 和 pyrDown 图像金字塔(高斯金字塔、拉普拉斯金字塔)与尺寸缩放(向上采样、向下采样)
我们经常会将某种尺寸的图像转化为其他尺寸的图像,如果需要放大或者缩小图像的尺寸,在 OpenCV 中可以使用如下两种方法: resize 函数,最直接的方法. pyrUp 和 pyrDown 函数,即 ...
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
这篇已经写得很好,真心给作者点个赞.题目都是直接转过来的,直接去看吧. Reference Link : http://blog.csdn.net/poem_qianmo/article/detail ...
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- OpenCV探索之路(五):图片缩放和图像金字塔
对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_AREA来插值:若要放大图像,推荐使用 ...
- Python+OpenCV图像处理(十一)—— 图像金字塔
简介:图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构.简单来说,图像金字塔就是用来进行图像缩放的. 进行图像缩放可以用图像金字塔,也可以使用 ...
- 学习 opencv---(12)OpenCV 图像金字塔:高斯金字塔,拉普拉斯金字塔与图片尺寸缩放
在这篇文章里,我们一起学习下 图像金字塔 的一些基本概念,如何使用OpenCV函数pyrUp和pyrDown 对图像进行向上和向下采样,以及了解专门用于缩放图像尺寸的resize函数的用法.此博文一共 ...
- opencv学习笔记(七)---图像金字塔
图像金字塔指的是同一图像不同分辨率的子图的集合,有向下取样金字塔,向上取样金字塔,拉普拉斯金字塔....它是图像多尺度表达的一种,最主要的是用于图像的分割 向下取样金字塔指高分辨率图像向低分辨率图像的 ...
- OpenCV图像金字塔
图像金字塔 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样. 原理 Note 以下内容来自于Bradski和Kaehler的大作: ...
随机推荐
- 碰撞检測之OBB-OBB的SweepTest
提要 当物体在运动的时候.普通的每帧进行碰撞检測已经无法满足要求,比方子弹的运动 两帧的位置已经直接将中间的板子穿过了,所以 t 时刻和 t +1 时刻的检測都是失效的.这时候须要用到的就是sweep ...
- 转: memcache, redis, mongodb 对比
http://db-engines.com/en/system/Memcached%3BMongoDB%3BRedis
- UITabBarController ---- 标签视图控制器
直接上代码: // // AppDelegate.m // // #import "AppDelegate.h" #import "RootViewController. ...
- 创建一个简单的 http 服务器
创建一个简单的 http 服务器 直接在 目录下运行 当前的目录即可是root 目录 默认端口8000 应该可以加参数修改端口号 Python2 python -m SimpleHTTPServer ...
- struts开发<在eclipse中配置struts. 一>
1.获取struts的jar包 1.1首先在http://struts.apache.org/download.cgi#struts23163这里下载 struts的文件包(选择struts-2.3. ...
- MySQL和MongoDB的性能测试
软硬件环境 MySQL版本:5.1.50,驱动版本:5.1.6(最新的5.1.13有很多杂七杂八的问题) MongoDB版本:1.6.2,驱动版本:2.1 操作系统:Windows XP SP3(这个 ...
- 标准C头文件
ISO C标准定义的头文件: POSIX标准定义的必须的头文件: POSIX标准定义的XSI可选头文件: POSIX标准定义的可选头文件:
- 【bzoj3620】似乎在梦中见过的样子
枚举左端点,对于每个右端点处理出以右端点为结尾最大长度使得从左端点开始的前缀等于以右端点结束的后缀,即next数组 然后一直往前跳,直到长度小于子串长度的一半为止. #include<algor ...
- Iterator && Iterable Collection && Map
Java集合类库将集合的接口与实现分离.同样的接口,可以有不同的实现. Java集合类的基本接口是Collection接口.而Collection接口必须实现Iterable接口. 以下图表示集合框架 ...
- app上架的问题
1..p12证书文件(钥匙串导出)开发证书和描述文件的 2.app打包好重Xcode上传到iTunes中的时候最好做校验: 3.程序跑真机出现的问题 解决方法:debug 模式改成release模式 ...