卷积核——Roberts、Prewitt、Sobel、Lapacian算子

时间:2024-03-30 15:38:27

图像处理卷积核——算子

在对图像的操作,我们采用模板对原图像进行卷积运算,从而达到我们想要的效果。而获取一幅图像的梯度就转化为:模板(Roberts、Prewitt、Sobel、Lapacian算子)对原图像进行卷积。

一、算子推导过程

知识引入:
在一维连续数集上有函数f(x),我们可以通过求导获得该函数在任一点的斜率,根据导数的定义有:

f(x)=f(x+Δx)f(x)

在二维连续数集上有函数f(x,y),我们也可以通过求导获得该函数在x和y分量的偏导数,根据定义有:
f(x,y)xf(x+Δx,y)f(x,y)

f(x,y)yf(x,y+Δy)f(x,y)

1.1 梯度和Roberts算子:

对于图像来说,是一个二维的离散型数集,通过推广二维连续型求函数偏导的方法,来求得图像的偏导数,即在(x,y)处的最大变化率,也就是这里的梯度:

gx=f(x,y)xf(x+1,y)f(x,y)

gy=f(x,y)yf(x,y+1)f(x,y)

梯度是一个矢量,则(x,y)处的梯度表示为:fgrad(f)[gx,gy]T=[fx,fy]T

其大小为:M(x,y)=mag(f)=gx2+gy2
卷积核——Roberts、Prewitt、Sobel、Lapacian算子
2*2大小的模板在概念上很简单, 但是他们对于用关于中心点对称的模板来计算边缘方向不是很有用,
其最小模板大小为3*3。3*3模板考虑了中心点对段数据的性质,并携带有关于边缘方向的更多信息。

1.2 Prewitt:

卷积核——Roberts、Prewitt、Sobel、Lapacian算子

1.3 Sobel算子

Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。
卷积核——Roberts、Prewitt、Sobel、Lapacian算子
上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,在图像处理中,通常用于边缘检测。在图像处理过程中,除了检测线,有时候也需要检测特殊点,这就需要用二阶导数进行检测。

1.4 Lapacian算子:

卷积核——Roberts、Prewitt、Sobel、Lapacian算子

模板中心位置的数字是-8而不是-4,是因为要使这些系数之和为0,当遇到恒定湖对区域时,模板响应应将0。(如下图1)
用lapacian算子图像进行卷积运算时,当响应的绝对值超过指定阈值时,那么该点就是被检测出来的孤立点,具体输出如下: (如下图2)
卷积核——Roberts、Prewitt、Sobel、Lapacian算子