【C++】高斯金字塔和拉普拉斯金字塔原理和实现(一)

简介: 图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在不同分辨率下观察目标的特征进而进行处理。

多尺度图像技术也叫做多分辨率技术(MRA),指对图像采用多尺度的表达,并且在不同尺度下分别进行处理。这样做的理由是很多情况下在一种尺度中不容易看清的或者获取的特性在另外的某种尺度下就很容易发现或者是提取。所以多尺度技术在提取图像特征时更加的常用。要在多尺度情况下对图像进行处理首先要在多尺度情况下对图像进行表达,并且找到各尺度之间的相互联系。而金字塔结构就是一种图像的多尺度表达形式。为了获得多尺度表达所采用的多尺度变换技术基本上可以分为三大类,尺度空间技术,时间尺度技术,时间频率技术。

97037683109a4708abc701ab9f44e8b7.png

图像金字塔

图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像。把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺寸)逐渐降低的图像,一直到金字塔的顶部只包含一个像素点的图像,这就构成了传统意义上的图像金字塔。

d811af60826d46aeae5dd2779a0e2d85.jpg

通过上采样和下采样实现图像金字塔,即对源图像的尺寸进行放大或者缩小变换。在opencv里面可以用resize函数,将源图像精准地转化为指定尺寸的目标图像。要缩小图像,一般推荐使用CV_INETR_AREA(区域插值)来插值;若要放大图像,推荐使用CV_INTER_LINEAR(线性插值)。这个函数可以用来做简单的图像尺度变换。

voidresize(src,dst,size,intinterpolation)
//src:源图像;dst:目标图像,//size目标图像大小,可以是指定的尺寸或者放大缩小的比例//指定插值方式,一般有四种插值方式可供选择,默认为线性插值法

图像金字塔效果如下:

45d05ac8b67d4715950ed7db89b8d7f8.png

2418e577a6e0470fb9de90e0f90de3f8.png

770b948007ac4033b7a1deebd7094018.png


目录
相关文章
|
2月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
|
编解码 计算机视觉 C++
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(三)
图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在不同分辨率下观察目标的特征进而进行处理。
1234 0
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(三)
|
编解码 C++ 计算机视觉
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(二)
图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在不同分辨率下观察目标的特征进而进行处理。
203 0
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(二)
|
1天前
|
编译器 C语言 C++
c++初阶------类和对象(六大默认构造函数的揭破)-3
c++初阶------类和对象(六大默认构造函数的揭破)
|
1天前
|
编译器 C语言 C++
c++初阶------类和对象(六大默认构造函数的揭破)-2
c++初阶------类和对象(六大默认构造函数的揭破)
|
1天前
|
存储 编译器 C语言
c++初阶------类和对象(六大默认构造函数的揭破)-1
c++初阶------类和对象(六大默认构造函数的揭破)
|
1天前
|
存储 编译器 C语言
c++初阶-------类和对象-2
c++初阶-------类和对象
|
1天前
|
编译器 C语言 C++
c++初阶-------类和对象-1
c++初阶-------类和对象
|
2天前
|
存储 Java C++
【C++类和对象】探索static成员、友元以及内部类
【C++类和对象】探索static成员、友元以及内部类
|
2天前
|
安全 程序员 编译器
【C++类和对象】初始化列表与隐式类型转换
【C++类和对象】初始化列表与隐式类型转换