OpenCV学习笔记-拉普拉斯变换

时间:2021-09-05 20:05:10

拉普拉斯变换的函数为:

Laplace

计算图像的 Laplacian 变换

void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 );
src
输入图像.
dst
输出图像.
aperture_size
核大小 (与 cvSobel 中定义一样).

函数 cvLaplace 计算输入图像的 Laplacian变换,方法是先用 sobel 算子计算二阶 x- 和 y- 差分,再求和:

OpenCV学习笔记-拉普拉斯变换

对 aperture_size=1 则给出最快计算结果,相当于对图像采用如下内核做卷积:

OpenCV学习笔记-拉普拉斯变换

类似于 cvSobel 函数,该函数也不作图像的尺度变换,所支持的输入、输出图像类型的组合和cvSobel一致。

采用的例题为:

#include "StdAfx.h"#include "cv.h"   #include "highgui.h"    #include "stdio.h"   #include "stdlib.h"  int main(int argc, char ** argv)  {  IplImage * src, *dst ;  src = cvLoadImage("laplace.bmp",0);  dst = cvCreateImage(cvGetSize(src),IPL_DEPTH_16S,1) ;  cvNamedWindow("src",0) ;  cvShowImage("src",src);  cvNamedWindow("Laplace",0) ;  cvLaplace(src,dst,7) ;  cvShowImage("Laplace",dst);  cvWaitKey(0) ;  cvReleaseImage(&src) ;  cvReleaseImage(&dst);  return 0;     } 

运行结果为:

OpenCV学习笔记-拉普拉斯变换

参考资料:

1.学习OpenCV,刘瑞祯,于仕祺,清华大学出版社,pp.172-173

2.http://www.opencv.org.cn/index.php/Cv%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86#Laplace

3.http://blog.csdn.net/cartoonface/article/details/6013419