该文章来源于: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*/
- #include <highgui.h>
- #include <cv.h>
- int main(int argc, char ** argv)
- {
- IplImage* src, *dst;
- src = cvLoadImage( argv[1] );
- dst = cvCreateImage( cvGetSize( src ), IPL_DEPTH_16S, 3 );
- cvNamedWindow( "src", 0 );
- cvShowImage( "src", src );
- cvNamedWindow( "Laplace", 0 );
- cvLaplace( src, dst, 7 ); //拉普拉斯变换,边缘检测
- cvShowImage( "Laplace", dst );
- cvWaitKey(0);
- cvReleaseImage( &src );
- cvReleaseImage( &dst );
- return 0;
- }
/*result*/
laplace the image