1-边缘检测-sobel等解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对(d)而言,屋顶状边缘的剖面可看作是 将脉冲边缘底部展开得到,所以它的一阶 导数是将(c)脉冲剖面的一阶导数的上升 沿和下降沿展开得到的,而它的二阶导数 是将脉冲剖面二阶导数的上升沿和下降沿 拉开得到的,通过检测屋顶状边缘剖面的 一阶导数过0点,可以确定屋顶位置
边缘检测
• 基本思想:
函数导数反映图像灰度变化的显著程度.
拉普拉斯高斯边缘检测结果
算子比较
Roberts算子:Roberts 算子利用局部差分算子寻找边缘, 边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没 经过平滑处理,因此不具备抑制噪声的能力。该算子对具有陡 峭边缘且含噪声少的图像效果较好。 Sobel算子和 Prewitt 算子:都是对图像先做加权平滑处理 ,然 Laplacian算子:是不依赖于边缘方向的二阶微分算子算子
一阶导数的局部极大值,二阶导数的过零点
• 一般过程:
去噪 增强 检测 定位
基本思想:计算局部 导数
边界图像
截面图
一阶导数法:用梯度算子来计算
特点:对于亮的边,边的变化起点是正的,结束 是负的。对于暗边,结论相反。常数部分为零。 用途:用于检测图像中边的存在
二阶导数法:用拉普拉斯算子来计算 特点:二阶微分在亮的一边是正的,在暗的一边是 负的。常数部分为零。 用途: 1)二次导数的符号,用于确定边上的像素 是在亮的一边,还是暗的一边。 2)0跨越,确定边的准确位置
,对图像中的阶跃型边缘点定位准确,该算子对噪声非常敏感
,它使噪声成分得到加强,这两个特性使得该算子容易丢失一 部分边缘的方向信息,造成一些不连续的检测边缘,同时抗噪 声能力比较差。
算子比较
LOG算子:该算子首先用高斯函数对图像作平滑滤波处理 ,然后才使用 Laplacian算子检测边缘,因此克服了 Laplacian算 子抗噪声能力比较差的缺点,但是在抑制噪声的同时也可能将原 有的比较尖锐的边缘也平滑掉了,造成这些尖锐边缘无法检被测 到。 应用 LOG 算子,高斯函数中方差参数的选择很关键,对图像边 缘检测效果有很大的影响。高斯滤波器为低通滤波器,越大,通 频带越窄,对较高频率的噪声的抑制作用越大,避免了虚假边缘
边缘检测中经常碰到的问题是: 图像中存在太多的细节。比如,前面例子中的砖墙 图像受到噪声的干扰,不能准确的检测边缘 解决的一个方法是在边缘检测之前对图像进行平滑
边缘检测
边缘检测举例
原始图像 水平梯度部分
垂直梯度部分
组合得到边缘图像
4.3 基于二阶导数法的边缘检测
图像强度的二阶导数的零交叉点就是找到的边缘点.
该算子没有把重点放在接近模板中心的 像素点. |Sx| 产生最强的响应是正交于x轴的边; |Sy| 则是正交于y轴的边。
边缘检测
给定图像中的一个 3*3区域,使用下面的边缘检测滤波 器进行检测,它们都使用一阶导数
边缘检测
边缘检测问题
原始图像
水平梯度部分
垂直梯度部分
组合得到边缘图像
边缘检测
边缘检测举例
图像
5
1
5
1
5
1
0
26
0
26
0
26
5
1
5
1
5
1
1
1
1
0
0
0
1
1
1
拉普拉斯算子
1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
例:
1
图像
5
1 1
5
1 1
5
1 1
5
1 1
5
1 1
5
1 1
5
1 1
5
1 1
5
1 1
1
拉普拉斯
1 1 5 1 1
1 1 5 1 1
0 -4 8 -4 0
0 -4 8 -4 0
的检出,同时信号的边缘也被平滑了,造成某些边缘点的丢失。
反之,越小,通频带越宽,可以检测到的图像更高频率的细节, 但对噪声的抑制能力相对下降,容易出现虚假边缘。因此,应用
边缘检测 边缘与轮廓
边缘是不同区域的分界线,是图像局部强度变化最显 著的那些像素的集合。 图像强度的显著变化可分为:
(1) 阶跃变化(函数),即图像强度在不连续处的两 边的像素灰度值有着显著的差异; (2) 线条(屋顶)变化(函数),即图像强度突然从 一个值变化到另一个值,保持一较小行程后又回到原 来的值. 边缘主要存在于目标与目标、目标与背景、区域与区 域(包括不同色彩)之间,
边缘检测边缘是位于两个区域的边界线上的连续像素集合
当人看一个有边缘的物体时,首先感觉到的 便是边缘. 在边缘处,灰度和结构等信息的产生突变. 边缘是一个区域的结束,也是另一个区域 的开始,利用该特征可以分割图像. 由于图像数据是二维的,而实际物体是三维 的,从三维到二维的投影必然会造成信息 的丢失,再加上成像过程中光照的不均和 噪声等因素的影响,使得有边缘的地方不 一定能被检测出来,而检测出来的边缘也 理想数字边缘模型 不一定代表实际边缘. 图像的边缘有方向和幅度两个属性,沿边缘 方向像素变化平缓,垂直于边缘方向像素 变化剧烈.边缘上的这种变化可以用微分 算子检测出来,通常用一阶或二阶导数来 检测边缘.
差分用下式计算:
sx (a2 ca3 a4 ) (a0 ca7 a6 ) s y (a0 ca1 a2 ) (a6 ca5 a4 )
梯度幅值:
M
2 2 sx sy
c=2
用模板来实现
Prewitt算子:
与Sobel算子的方程完全一样,但c=1,
拉普拉斯算子
拉普拉斯算子是二阶导数的二维等效式:
2 2 f f 2 f 2 x y 2
Gx 2f 2 x x ( f [ x 1, y ] f [ x, y ]) x f [ x 1, y ] f [ x, y ] x x
f [ x 2, y ] 2 f [ x 1, y ] f [ x, y ]
4.2
基于一阶导数法的边缘检测
梯度为矢量
f G x x G ( x , y ) f G y y
梯度:一阶导数的二维等效式
梯度的幅值和方向:
梯度是灰度F(y、x)在YX坐标 方向上的导数、 表示灰度F(y、x)灰度在 YX坐标方向上的変化率
• 轮廓是物体在场景中的完整边界.
• 边缘的连接构成轮廓.
术语定义
边缘点:在亮度显著变化的位置上的点.
边缘段:对应于边缘点坐标及其方位.
轮廓:边缘列表或一条表示边缘列表的拟合曲线.
边缘连接:从无序边缘表形成有序边缘表的过程. 边缘跟踪:一个用来确定轮廊的图像搜索过程.
边缘检测器:从图像中抽取边缘集合的算法
实现边缘检测有两种方法 一阶导数法:用梯度算子来计算 二阶导数法:用拉普拉斯算子来计算
边缘检测
一阶导数可以用于 检测图像中的一个 点是否在斜坡上. 二阶导数的符号可 以用于判断一个边 缘点.是在边缘亮的 一边还是暗的一边.
(1)对图像中的每条 边缘二阶导数生成 两个值 斜坡数字边缘模型 (2)一条连接二阶导 数正极值和负极值 斜坡部分与边缘的 的虚构直线将在边 模糊程度成正比. 缘中点附近穿过零 点.据此可以用于确 定粗边线的中心.
边缘检测
Laplacian 边缘检测
基于2阶导数的Laplacian滤波器
Laplacian由于对噪声太敏感,因此一般不单独使用 通常和平滑Gaussian滤波器进行结合来进行边缘检测
Sobel算子
1
1 1 5 1 1
1 1 5 1 1
1 1 5 1 1
1 1 5 1 1
1 1 5 1 1
1 1 5 1 1
根据卷积求导法有 其中:
h( x, y) [ 2 g( x, y)] f ( x, y)
x 2 g( x, y)
2
y
2 e 4
2 2
x2 y2 2 2
称之为墨西哥草帽算子
一维和二维高斯函数的拉普拉斯变换图的翻转图,其中σ =2.
课后练习!
2D高斯拉普拉斯算子可以通过任何 一个方形核进行逼近,只要保证该 核的所有元素的和或均值为0; 右边为一个5×5的核进行逼近
二阶导数在一阶导数的阶跃上升 区有1个向上的脉冲,而在一阶 导数的阶跃下降区有1个向下的 脉冲,在这两个脉冲之间有1个 过0点,它的位置正对应原图像 中边缘的位置,所以可用二阶导 数的过0点检测边缘位置,而用 二阶导数在过0点附近的符号确 定边缘象素在图像边缘的暗区或 明区
对(c)而言,脉冲状的剖面边缘 与(a)的一阶导数形状相同,所 以(c)的一阶导数形状与(a)的二 阶导数形状相同,而它的2个 二阶导数过0点正好分别对应 脉冲的上升沿和下降沿,通过 检测脉冲剖面的2个二阶导数 过0点就可确定脉冲的范围
0交叉点
理论曲线 实际曲线
一阶导数 二阶导数
(a)阶跃函数 (b)线条(屋顶)函数
两种常见的边缘一阶导数和二阶导数示意图
图像
水平方 向剖面
一阶导数
二阶导数
阶梯状-处于图像中 2个具有不同灰度值 的相邻区域之间
脉冲状-对应细 条状的灰度值突 变区域
屋顶状-上 升下降沿都 比较缓慢
一阶导数在图像由暗变明的 位置处有1个向上的阶跃,而 其它位置都为0,这表明可用 一阶导数的幅度值来检测边 缘的存在,幅度峰值一般对 应边缘位置 对(a、b) 而言
这一近似式是以点 [ x+1,y] 为中心的. 用 x-1 替换 x :
百度文库
2f f [ x 1, y ] 2 f [ x, y ] f [ x 1, y ] 2 x
同理:
2f f [ x, y 1] 2 f [ x, y ] f [ x, y 1] 2 y
图像坐标 y 轴垂直向下
F(y、x)表示灰度
是YX坐标的函数
Roberts 算子:
梯度交叉算子
G[i, j] f [ x, y] f [ x 1, y 1] f [ x 1, y] f [ x, y 1]
用模板来实现
1 0 0 -1
0 1 -1 0
Sobel算子:
Soleb算子具有平滑效果
2 2 | G ( x, y ) | G x Gy
a( x, y) arctan( Gy / Gx )
向量的方向就是函数增大时的最大变化率方向;
用差分来近似梯度: G f [ x 1, y ] f [ x, y ] x
Gy f [ x, y 1] f [ x, y]
边缘检测
高斯拉普拉斯 高斯拉普拉斯(Laplacian of Gaussian,LOG,或Mexican hat, 墨西哥草帽)滤波器使用了Gaussian来进行噪声去除并使用 Laplacian来进行边缘检测
LoG算子的输出是通过卷积运算得到的,
h( x, y) 2 [ g( x, y) f ( x, y)]
可以用多种方式表示为数字形式。对于一个3x3 的区域,经验上被推荐最多的形式是:
用算子表示:
0 1 0 1 4 1 0 1 0
2
希望邻域中心点 具有更大的权值
2
1 4 1
4 20 4
1 4 1
定义数字形式的拉普拉斯的要求是:系数之和必为0
LoG算法—Marr 算子
Marr和Hildreth将高斯滤波和拉普拉斯边缘检测 结合在一起,形成LoG(Laplacian of Gaussian) 算法,也称之为拉普拉斯高斯算法。
马尔(Marr-Hildreth)算子是在拉普拉斯算子的基础上实现 的。 主要得益于对人的视觉机理的研究,具有一定的生物学和 生理学意义 在较大噪声场合,由于微分算子会起到放大噪声的作用, 因此梯度算子和拉普拉斯算子对噪声较敏感 一种改进的方法是对图像先进行适当的平滑,以抑制噪声, 然后再进行求微分;
1 1 5 1 1
1 1 5 1 1
例: 图像
1 5 1 1
1
1 1 5 1 1 1 1
1 1 5 1 1 1 1
1 0 0 0 1 0
1 0 0 0 1 0
1 0 0 0 1 0
1 1 5 1 1 1
1 1 5 1 1 1 1
1 1 5 1 1 1 1
垂直 图像
1 5 1 1 1
水平
1
-26 -26 -26 1
0 -4 8 -4 0
1 1 5 1 1
1 1 5 1 1
1 1 5 1 1
1 5 1 1
图像
拉普拉斯算子的分析: 缺点:对噪音的敏感;不能检测出边的方向
应用:拉普拉斯算子不直接用于边的检测,通常 只起辅助的角色;
检测一个像素是 在边的 亮的一边还是暗的一边 利用零跨越,确定边的位置
拉普拉斯高斯算法