cvLaplace

来源:互联网 发布:linux终端进度条 编辑:程序博客网 时间:2024/06/05 11:20
拉普拉斯可以用二次导数的形式定义,可假设其离散实现类似于二阶Sobel导数。

源图像src既可以是8位(无符号)图像,也可以是32位(浮点)图像;目标图像src必须是16位(有符号)或者32位(浮点)图像。

函数形式:

void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 )

src: 输入图像

dst : 输出图像

aperture_size: 核大小 (与 cvSobel中定义一样)。

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



拉普拉斯算子通常的应用是检测"团块",也可以用作边缘检测。

用二阶导数的方式找出图像的边界时,优点是由于采用了二阶导数,可以确定边界在亮边还是暗边,暗边>0,亮边<0,对边界响应很灵敏。缺点是,抗噪能力比较差,所以一般在采用Laplace算子之前要用高斯函数对图像进行平滑处理。

代码示例:


运行结果:






0 0
原创粉丝点击