1. 程式人生 > >空域分析及變換(2):高斯拉普拉斯金字塔

空域分析及變換(2):高斯拉普拉斯金字塔

空域分析及變換(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)
高斯核:

#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)

#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;  
}

3、高斯金字塔與拉普拉斯金字塔

部落格參考