空域分析及变换(2):高斯拉普拉斯金字塔
引言
图像处理–>空间域处理–>高斯金字塔、拉普拉斯金字塔.金字塔参考。图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。
图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列的咦金字塔形状排列的,分辨率逐步降低且来源于同一张原始图片的图像合集。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。
金字塔的底部是待处理的高分辨率图像,而顶部是低分辨率的近似。
1、高斯金字塔
pyrDown( )函数的作用是向下采样并模糊一张图片,缩小一张图片。
图像缩放,直接采样会损失很多信息。
高斯核:
#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( )函数的作用是向上采样并模糊一张图像,放大一张图片。
#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;
}