边缘检测学习笔记 -- Roberts, Prewitt, Sobel, Canny算子

本文介绍了边缘检测的重要性,详细讲解了Roberts、Prewitt、Sobel和Canny算子的工作原理、优缺点,以及在实际应用中的效果对比。Canny算子通过高斯滤波、梯度计算、非极大值抑制和双阈值检测等步骤,提供了一种更优的边缘检测方法。
摘要由CSDN通过智能技术生成

1. 边缘检测

1.1 边缘的定义

图像局部特征的不连续性,即:灰度或结构信息的突变。

1.2 边缘检测的步骤

①降噪,平滑处理
②边缘点的检测
③边缘定位

1.3 梯度

∇ f = g r a d ( f ) ( g x g y ) = ( ∂ f ∂ x ∂ f ∂ y ) \nabla f = grad(f) \dbinom{g_x}{g_y}=\dbinom{\frac{\partial f}{\partial x}}{\frac{\partial f}{\partial y}} f=grad(f)(gygx)=(yfxf)
M ( x , y ) = m a g ( ∇ f ) = g x 2 + g y 2 M(x, y)=mag(\nabla f)=\sqrt{ {g_x}^2+g_y^2} M(x,y)=mag(f)=gx2+gy2
其中, g x , g y g_x, g_y gx,gy M ( x , y ) M(x, y) M(x,y)都是与原图大小相同的图像。

梯度算子

在每个像素点计算偏导数 ∂ f ∂ x , ∂ f ∂ y \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} xf,yf:
g x = ∂ f ( x , y ) ∂ x = f ( x + 1 , y ) − f ( x , y ) g_x=\frac{\partial f(x, y)}{\partial x}=f(x+1, y)-f(x, y) gx=xf(x,y)=f(x+1,y)f(x,y) g x = ∂ f ( x , y ) ∂ y = f ( x , y + 1 ) − f ( x , y ) g_x=\frac{\partial f(x, y)}{\partial y}=f(x, y+1)-f(x, y) gx=yf(x,y)=f(x,y+1)f(x,y)

1.4 常见的边缘算子

一阶算子:Roberts算子、Sobel算子、Prewitt算子...
二阶算子:Canny算子、Laplacian算子、Marr-Hildreth算子...

Roberts算子

原理:利用局部差分算子寻找边缘。采用对角线方向相邻两像素之间差的平方和近似梯度幅值检测边缘。
y i , j = x i , j y_{i,j}=\sqrt{x_{i,j}} \\ yi,j=xi,j z i , j = ( y i , j − y i + 1 , j + 1 ) 2 + ( y i + 1 , j − y i , j + 1 ) 2 z_{i,j}=\sqrt{(y_{i,j}-y_{i+1,j+1})^2+{(y_{i+1,j}-y_{i,j+1})}^2} zi,j=(yi,jyi+1,j+1)2+(y

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

搬砖换小鱼干

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

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

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

打赏作者

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

抵扣说明:

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

余额充值