拉普拉斯变换的函数为:
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一致。
采用的例题为:
#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; }
运行结果为:
参考资料:
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