图像sobel梯度详细计算过程_边缘检测:梯度与Roberts、Prewitt、Sobel、Lapacian算子...

413761f0777ead27afa8df0cf1a78aea.png

一、学习心得:

学习图像处理的过程中,刚开始遇到图像梯度和一些算子的概念,这两者到底是什么关系,又有什么不同,一直困扰着我。后来在看到图像分割这一模块后才恍然大悟,其实图像的梯度可以用一阶导数和二阶偏导数来求解。但是图像以矩阵的形式存储的,不能像数学理论中对直线或者曲线求导一样,对一幅图像的求导相当于对一个平面、曲面求导。对图像的操作,我们采用模板对原图像进行卷积运算,从而达到我们想要的效果。而获取一幅图像的梯度就转化为:模板(Roberts、Prewitt、Sobel、Lapacian算子)对原图像进行卷积,不过这里的模板并不是随便设计的,而是根据数学中求导理论推导出来的。下面就逐一分析各梯度算子的推导过程。

二、算子推导过程

1、知识引入:

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

fed5d87a3d6c4f7e2764a83f940bd985.png

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

875c7ec67a8d1e389e5731018e178e9a.png

2、梯度和Roberts算子:

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

dc99d86090edaa7a5a3ebbca93c8dd6e.png

40aab51919747423a3e61e91f4af60af.png

梯度是一个矢量,则(x,y)处的梯度表示为:

40d45096e687a872930b20419877cf39.png

其大小为:

因为平方和平方根需要大量的计算开销,所以使用绝对值来近似梯度幅值:

a3f1d366dc086e642263e03e3cb06369.png

80cbb7aae2557ad9ded5aeac0598c587.png

方向与α(x,y)正交:

7af2f3aac7dfc47ae345ad987a76f8c8.png

其对应的模板为:

上面是图像的垂直和水平梯度,但我们有时候也需要对角线方向的梯度,定义如下:

fdfc30c810fa81eed1ec1eb42eaf1156.png

85dbf22f01b246b9b32c5cc160c1edb8.png

2*2大小的模板在概念上很简单,但是他们对于用关于中心点对称的模板来计算边缘方向不是很有用,其最小模板大小为3*3。3*3模板考虑了中心点对段数据的性质,并携带有关于边缘方向的更多信息。

3、Prewitt和Sobel算子:

a98d1d9ada3832c2b59c26adcbf9992f.png

在3*3模板中:

我如下定义水平、垂直和两对角线方向的梯度

6dbddf7326918a0eaa58e073a1201816.png

该定义下的算子称之为Prewitt算子:

77d7aa6197e76adaf1838f1e9170714d.png

Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。

89f710227aa504e48dab3800111509e4.png

计算公式为:

89f710227aa504e48dab3800111509e4.png


Sobel算子:

520964c2fabf69db8c47bd8a2cadbe94.png

上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,在图像处理中,通常用于边缘检测。在图像处理过程中,除了检测线,有时候也需要检测特殊点,这就需要用二阶导数进行检测。

4、Lapacian算子:
一阶导数:

97434c973d5258fc0597e7e15a574e35.png

二阶导数:

739e534d735c87e6d29703c5c07c7971.png

我们感兴趣的是关于点x的二阶导数,故将上式中的变量减1后,得到:

66354df3d08899e12c167675220db809.png

在图像处理中通过拉普拉斯模板求二阶导数,其定义如下:

4e2fe23e71e65f5db965e1cc22908cb2.png


对应模板为:

e7543b3e484a4746520c5572b2d805ee.png


模板中心位置的数字是-8而不是-4,是因为要使这些系数之和为0,当遇到恒定湖对区域时,模板响应应将0。

在用lapacian算子图像进行卷积运算时,当响应的绝对值超过指定阈值时,那么该点就是被检测出来的孤立点,具体输出如下:

76a243a61bf7dbebb73c107dad12b53b.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值