OpenCV学习笔记-拉普拉斯变换
拉普拉斯变换的函数为:
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