图像微分-图像求导-基本边缘检测

基本边缘检测-图像求导

为了寻找边缘,可用一阶导数或二阶导数来检测边缘。

图像中的导数是图像的重要特征之一。其中一阶导数通常用于图像边缘检测,二阶导数的符号可以确定边缘的过渡是从亮到暗还是从暗到亮,在对图像做导数之前最好先进行平滑处理,因为导数操作对噪声敏感。

  • 图像的边缘一般存在灰度变化强烈的地方,只有灰度变化的明显我们才可以从图像中清晰的看到没有一个物体的轮廓,要是一个图像灰度变化很均匀的话,整个图像就变得比较模糊。就如把一副图像均值滤波以后,图像变得模糊了。如何表示一个图像的灰度变化,当然是求导了,梯度值越大表示图像中灰度值变化越剧烈,越有可能是图像的边缘。图像求导包括一阶和二阶,二阶导数比一阶导数在细节方面处理的更好一点,但是也各有利弊,如含有噪声的图像就不适合二阶导,因为他会把图像中的噪声增强,所以需要先做平滑处理。

1.二维函数f(x,y)的一阶导数的基本定义是差分:
d f ( x , y ) d x = f ( x + 1 , y ) − f ( x , y ) \frac{\mathrm{d}f(x,y)}{\mathrm{d}x} =f(x+1,y)-f(x,y) dxdf(x,y)=f(x+1,y)f(x,y)
d f ( x , y ) d y = f ( x , y + 1 ) − f ( x , y ) \frac{\mathrm{d}f(x,y)}{\mathrm{d}y} =f(x,y+1)-f(x,y) dydf(x,y)=f(x,y+1)f(x,y)
整体图像的一阶导为:
d f ( x , y ) d x + d f ( x , y ) d y = f ( x , y + 1 ) + f ( x + 1 , y ) − 2 f ( x , y ) \frac{\mathrm{d}f(x,y)}{\mathrm{d}x}+\frac{\mathrm{d}f(x,y)}{\mathrm{d}y} =f(x,y+1)+f(x+1,y)-2f(x,y) dxdf(x,y)+dydf(x,y)=f(x,y+1)+f(x+1,y)2f(x,y)
该公式可以用下图中的核卷积来实现:
在这里插入图片描述

2.二维函数f(x,y)的二阶导数的基本定义是差分:
d 2 f ( x , y ) d x 2 = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) \frac{\mathrm{d^{2}}f(x,y)}{\mathrm{d}x^{2}} =f(x+1,y)+f(x-1,y)-2f(x,y) dx2d2f(x,y)=f(x+1,y)+f(x1,y)2f(x,y)
d 2 f ( x , y ) d y 2 = f ( x , y + 1 ) + f ( x , y − 1 ) − 2 f ( x , y ) \frac{\mathrm{d^{2}}f(x,y)}{\mathrm{d}y^{2}} =f(x,y+1)+f(x,y-1)-2f(x,y) dy2d2f(x,y)=f(x,y+1)+f(x,y1)2f(x,y)
整体图像的二阶导为:
d 2 f ( x , y ) d x 2 + d 2 f ( x , y ) d y 2 = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) \frac{\mathrm{d^{2}}f(x,y)}{\mathrm{d}x^{2}}+\frac{\mathrm{d^{2}}f(x,y)}{\mathrm{d}y^{2}}=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) dx2d2f(x,y)+dy2d2f(x,y)=f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)4f(x,y)
这个公式可以用拉普拉斯核进行卷积来实现:
拉普拉斯核

上述公式的具体推导可参考:图像求导

  • 常用的梯度算子,和以上的公式略有不同。
    在这里插入图片描述

1.罗伯特交叉梯度算子:最早使用具有对角性能的二维核的算子之一。

dx=z9-z5
dy=z8-z6

卷积核:
在这里插入图片描述

2x2大小的核在概念上很简单,但在计算边缘方向时,他们不如关心中心对称的核有用,中心对称核的最小尺寸为3x3.这些核考虑了中心点对侧数据的性质,并带有关于边缘方向的更多信息。

2.Prewitt算子
d x = ( z 7 + z 8 + z 9 ) − ( z 1 + z 2 + z 3 ) dx=(z7+z8+z9)-(z1+z2+z3) dx=(z7+z8+z9)(z1+z2+z3)
d y = ( z 3 + z 6 + z 9 ) − ( z 1 + z 4 + z 7 ) dy=(z3+z6+z9)-(z1+z4+z7) dy=(z3+z6+z9)(z1+z4+z7)
卷积核:
在这里插入图片描述
3.Sobel算子
d x = ( z 7 + 2 z 8 + z 9 ) − ( z 1 + 2 z 2 + z 3 ) dx=(z7+2z8+z9)-(z1+2z2+z3) dx=(z7+2z8+z9)(z1+2z2+z3)
d y = ( z 3 + 2 z 6 + z 9 ) − ( z 1 + 2 z 4 + z 7 ) dy=(z3+2z6+z9)-(z1+2z4+z7) dy=(z3+2z6+z9)(z1+2z4+z7)
卷积核:
在这里插入图片描述

与Sobel核相比,Prewitt核实现起来更加简单,但他们在计算上的差别并不大。Sobel核能更好地抑制平滑噪声,因此应用更加广泛。

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山风wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值