Laplace算子作为边缘检测之一,和Sobel算子一样也是工程数学中常用的一种积分变换,属于空间锐化滤波操作。拉普拉斯算子(Laplace Operator)是n维欧几里德空间中的一个二阶微分算子,定义为梯度(▽f)的散度(▽·f)。拉普拉斯算子也可以推广为定义在黎曼流形上的椭圆型算子,称为拉普拉斯-贝尔特拉米算子。(百度百科)
拉普拉斯算子是最简单的各项同性二阶微分算子,具有旋转不变性。根据函数微分的特性,该像素点值的二阶微分点为0的点为边缘点,对于二维图像函数f(x,y),图像的Laplace算子为:
laplace是对x方向和y方向分别求二阶导数,其在x方向的二阶导数如下:
其在y方向上的二阶导数如下:
所以二阶laplace算子的表达式为:
根据这个表达式可以得到如下的filter mask:
对laplace算子进行扩展可以得到下面的filter mask:
对于图像中灰度变化剧烈的区域,拉普拉斯算子能够实现边缘检测。拉普拉斯算子利用二次微分特性与峰值间的过零点确定边缘的位置,对于扩展的拉普拉斯filter mask也能够应用于图像的锐化处理中。
图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。图像的拉普拉斯锐化可用下式表示:
当mask中心系数为正时,中心像素的灰度被提高,否则中心像素的灰度会被降低。
OpenCV中拉普拉斯函数原型如下:
void
参数说明:
src : 输入图像
dst : 输入图像,和输入图像有相同的大小和通道
ddepth: 输出图像的深度
ksize : 算子的核大小,只能为1,3,5,7
scale: 可选参数,缩放导数的放缩因子
delta: 可选的增量常数
borderType : 用于推断图像外部像素的边界模式,一般是DORDER_DEFAULT,不支持BORDER_WRAP.
示例代码如下:
#include
结果展示: