空域分析及变换(2):高斯拉普拉斯金字塔
引言
图像处理–>空间域处理–>高斯金字塔、拉普拉斯金字塔.金字塔参考。图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。
图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列的咦金字塔形状排列的,分辨率逐步降低且来源于同一张原始图片的图像合集。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。
金字塔的底部是待处理的高分辨率图像,而顶部是低分辨率的近似。
1、高斯金字塔
pyrDown( )函数的作用是向下采样并模糊一张图片,缩小一张图片。
图像缩放,直接采样会损失很多信息。
终
止
条
件
:
∣
d
s
t
s
i
z
e
.
w
i
d
t
h
∗
2
−
s
r
c
.
c
o
l
s
∣
≤
2
)
∣
d
s
t
s
i
z
e
.
h
e
i
g
h
t
∗
2
−
s
r
c
.
r
o
w
s
∣
≤
2
)
终止条件:\\|dstsize.width*2-src.cols|\le2)\\|dstsize.height*2-src.rows|\le2)
终止条件:∣dstsize.width∗2−src.cols∣≤2)∣dstsize.height∗2−src.rows∣≤2)
高斯核:
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main( )
{
Mat srcImage = imread("1.jpg");
Mat tmpImage,dstImage;//临时变量和目标图的定义
tmpImage=srcImage;//将原始图赋给临时变量
imshow("【原始图】", srcImage);
//进行向下取样操作,高斯金字塔
pyrDown( tmpImage, dstImage, Size( tmpImage.cols/2, tmpImage.rows/2 ) );
//显示效果图
imshow("【效果图】", dstImage);
waitKey(0);
return 0;
}
2、拉普拉斯金字塔
pyrUp( )函数的作用是向上采样并模糊一张图像,放大一张图片。
终 止 条 件 : ∣ d s t s i z e . w i d t h − s r c . c o l s ∗ 2 ∣ ≤ ( d s t s i z e . w i d t h m o d 2 ) ∣ d s t s i z e . h e i g h t − s r c . r o w s ∗ 2 ∣ ≤ ( d s t s i z e . h e i g h t m o d 2 ) 终止条件:\\|dstsize.width-src.cols*2|\le(dstsize.width\quad mod \quad2)\\|dstsize.height-src.rows*2|\le(dstsize.height\quad mod \quad2) 终止条件:∣dstsize.width−src.cols∗2∣≤(dstsize.widthmod2)∣dstsize.height−src.rows∗2∣≤(dstsize.heightmod2)
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main( )
{
Mat srcImage = imread("1.jpg");
Mat tmpImage,dstImage;//临时变量和目标图的定义
tmpImage=srcImage;//将原始图赋给临时变量
imshow("【原始图】", srcImage);
//进行向上取样操作
pyrUp( tmpImage, dstImage, Size( tmpImage.cols*2, tmpImage.rows*2 ) );//向上是Laplace
imshow("【效果图】", dstImage);
waitKey(0);
return 0;
}