第四章低级特征提取(1)一阶边缘检测算子Sobel、Prewitt、Canny等

第四章 低级特征提取 一阶边缘检测算子Sobel、Prewitt、Canny等

4.1 概述

a. 我们定义低层次特征为基本特征,不需要任何形状信息就可以从图像中自动提取;
局部特征提取:边缘检测;角点检测(线条高曲率点);局部兴趣图像块;
运动特征,常用方法为光流;

4.2 边缘检测

4.2.1 一阶边缘检测算子

4.2.1.1 基本算子

a. 基于边缘检测的分析不易受整体光照强度变化的影响,因此被用于很多图像理解环境中;边缘检测强调的是图像对比度,即亮度差异的明显性;人类视觉系统对目标的感知正是依赖于这种机制;
一阶微分可以简单地描述这种灰度起伏;
b. 离散数据一阶微分近似
水平边缘检测算子,检测水平方向的灰度差,即检测垂直的边缘;一个简单的算子形式是
在这里插入图片描述
垂直边缘检测算子,检测垂直方向的灰度差;
在这里插入图片描述
则有合并算子E,同时对垂直和水平边缘进行检测,有
在这里插入图片描述
该算子给出差分模板的系数,模板可以描述为
模板
它可以与图像做卷积运算检测所有边缘点;

4.2.1.2 基础算子的分析

a. 设∆x为相邻点坐标差值,f(x+∆x)-f(x)即灰度差,则f’ (x)的t泰勒展开形为
导数近似
其中O(∆x2 )为估算误差,一般取决于间距∆x的大小和灰度曲线的复杂程度(;
b. Roberts交叉算子
卷积模板形式,
Roberts交叉算子
一般考虑将边缘表示为矢量成分;

4.2.1.3 Prewitt边缘检测算子

a. 易见,边缘检测算子对灰度突变进行正响应,频域模拟为高通滤波器,因此均值处理这类低通滤波预处理操作对边缘检测有一定的影响;
Prewitt算子作用是合并边缘检测和均值算子,其卷积模板为,
Prewitt边缘检测算子
Prewitt算子给出变化率构造矢量,Mx和My的符号可以进一步确定边缘方向的相应象限;由于需要进行直接均指计算和基础一阶边缘检测,Prewitt算子不太适合简单模板;

4.2.1.4 Sobel边缘检测算子

a. Sobel算子是由以矢量方式确定边缘的两个掩码组成的,其模板构造为,
Sobel边缘检测算子
b. 可以用于计算大模板系数的理论基很少被提到,一个可能的理论基础是考虑均值计算和差分处理的最优方式;高斯平均是公认的最优均值算法;
有一些圆形边缘算子是为了得到正确的边缘方向数据而专门设计的;
Sobel模板也可以用来处理与窗口大小相同维数的矩阵,从中计算出边缘强度和梯度;
简单算子里Sobel效果拔群;
c. Sobel算子反转,影响边缘方向的计算;
Sobel翻转模板
反转模板可以对Sobel算子检测到的边缘方向给出四个可能方向;这种重新排列可以简化形状检测的算法结构,利用边缘检测来找出形状的算法都必须精确地知道使用何种排列方式;

4.2.1.5 Canny边缘检测算子,当前最受欢迎的边缘检测方法

a. Canny边缘检测算子由三个主要目标形成:
无附加响应的最优检测(降低噪声);
检测边缘位置和实际边缘位置之间距离最小的正确定位(正确性,可以通过非极大值抑制实现);
减少单边缘的多重响应而得到单响应;
b. 高斯算子,
高斯算子
沿坐标轴对单位矢量Ux=[1,0]和Uy=[0,1]进行微分处理有,
在这里插入图片描述
该算子结合了高斯平滑和不同方向的一阶微分;
图像经过平滑处理后,边缘由尖峰表现为数据岭的形式;为了进行更精准的定位可以在边缘法线方向上进行一阶微分,以极值作为边缘准确定位;
在这里插入图片描述
表示高斯函数g在法线n⊥的一阶导数;
在这里插入图片描述
则边缘点算子,
在这里插入图片描述
满足最小定位标准(非极大值抑制);
c. 通常采用如下近似:
(1)应用高斯平滑处理;
(2)应用Sobel算子;
(3)应用非极大值抑制;
(4)滞后阈值处理对边缘点进行连接;
d. 非极大值抑制利用边缘方向信息来处理,验证是否为峰值;
离散梯度极值的近似,
在这里插入图片描述
在这里插入图片描述
若M大于M1和M2,则保留边缘点;
e. 非极大值抑制的实现首先需要一个函数生成两点的坐标,在这两点之间插入边缘强度;
f. 滞后阈值;
滞后阈值用于对非极大值抑输出的峰值点进行处理;
滞后阈值即当当前点取高值时,如果相邻点低于阈值下限,则相邻点输出低值,否则保持高值;当前点取低值时,如果相邻点高于阈值上限,则相邻点输出高值,否则保持低值;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sobel算子Canny算子、Prewitt边缘检测算子和Roberts边缘检测算子都是常用的图像边缘检测算法,它们各有优缺点,下面对它们进行比较: 1. Sobel算子 Sobel算子是一种基于梯度的边缘检测算法,它可以在图像中检测到水平和垂直方向上的边缘。相对于其他算法,Sobel算子计算速度快,易于实现,同时在边缘检测中也有较好的效果。但是,Sobel算子只能检测到水平和垂直方向上的边缘,对于斜向边缘的检测效果不太好。 2. Canny算子 Canny算子是一种常用的边缘检测算法,它利用高斯滤波器平滑图像,然后计算梯度,最后使用非极大值抑制和双阈值处理来检测边缘。Canny算子可以检测到所有方向上的边缘,同时它通过双阈值处理可以控制检测到的边缘数量。但是,Canny算子的计算量比较大,运行速度比较慢。 3. Prewitt边缘检测算子 Prewitt算子也是一种基于梯度的边缘检测算法,它与Sobel算子类似,可以检测到水平和垂直方向上的边缘。相对于Sobel算子,Prewitt算子的计算量较小,但是在边缘检测中的效果不如Sobel算子。 4. Roberts边缘检测算子 Roberts算子是一种基于微分的边缘检测算法,它使用两个 $2\times 2$ 的卷积核来计算图像中每个像素点的梯度值,从而得到边缘信息。相对于其他算法,Roberts算子计算速度快,但其缺点是对噪声比较敏感,且检测到的边缘比较粗糙。 综上所述,不同的边缘检测算法有各自的优缺点,需要根据实际应用场景进行选择。在一些需要快速处理的场景中,可以选择Sobel算子或Roberts算子;在需要精确检测、对噪声抗干扰的场景中,可以选择Canny算子;在计算资源有限的场景中,可以选择Prewitt算子

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值