第六章 - 圖像變換 -拉普拉斯變換(cvLaplace)

該文章來源於:http://blog.csdn.net/hitwengqi/article/details/6877728

拉普拉斯變換也可以用作邊緣檢測,用二次導數的形式定義。

拉普拉斯變換(Laplace Transform),是工程數學中常用的一種積分變換。

關於拉普拉斯和傅里葉變換的對比及意義參考這裏

--------------------------------------------------------------------------------------------------------

拉普拉斯變換的函數爲:

Laplace

計算圖像的 Laplacian 變換

void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 );
src
輸入圖像.
dst
輸出圖像.
aperture_size
核大小 (與 cvSobel 中定義一樣).

函數 cvLaplace 計算輸入圖像的 Laplacian變換,方法是先用 sobel 算子計算二階 x- 和 y- 差分,再求和:


對 aperture_size=1 則給出最快計算結果,相當於對圖像採用如下內核做卷積:


類似於 cvSobel 函數,該函數也不作圖像的尺度變換,所支持的輸入、輸出圖像類型的組合和cvSobel一致。

--------------------------------------------------------------------------------------------------------

/*code*/

  1. #include <highgui.h>  
  2. #include <cv.h>  
  3.   
  4. int main(int argc, char ** argv)  
  5. {  
  6.     IplImage* src, *dst;  
  7.     src = cvLoadImage( argv[1] );  
  8.     dst = cvCreateImage( cvGetSize( src ), IPL_DEPTH_16S, 3 );  
  9.     cvNamedWindow( "src", 0 );  
  10.     cvShowImage( "src", src );  
  11.     cvNamedWindow( "Laplace", 0 );  
  12.     cvLaplace( src, dst, 7 ); //拉普拉斯變換,邊緣檢測  
  13.     cvShowImage( "Laplace", dst );  
  14.     cvWaitKey(0);  
  15.   
  16.     cvReleaseImage( &src );  
  17.     cvReleaseImage( &dst );  
  18.   
  19.     return 0;  
  20. }  
--------------------------------------------------------------------------------------------------------

/*result*/

laplace the image 


發佈了2 篇原創文章 · 獲贊 11 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章