Canny-算子边缘检测原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用一句话说,就是希望在提高对景物边缘的敏感性的同时,可 以抑制噪声的方法才是好的边缘提取方法。
Canny算子详细原理
Canny算子检测边缘的实质是求信号函数的极大值问 题来判定图像边缘像素点。 算子三大准则: ① 好的检测性能:检测出的边缘信息的漏检率最小, 误检率最小,评判参数信噪比SNR越大越好
边缘检测算法
传统的边缘检测算子:Sobel算子,Prewitt算子,Roberts 算子,Krich算子等,大部分处理的效果都不很好,实际处理 中不太实用,而Canny算子检测的性能较好,常被作为其他实 验的标准来参考。Canny算子是John Canny在1986年发表的论 文中首次提出的一种边缘检测算法,当时弥补了其他算法的不 太好的缺点,因此Canny算子被认为是边缘检测领域较好的算 法,并一直被引用,近几年来,随着研究的深入,性能更加完 善的改性型的Canny算子也层出不穷,例如自适应Canny算子等。
w w


w
w
f '2 ( x)dx
③ 边缘响应次数最少:要保证只有一个像素响应,检 测算子的脉冲响应导数的零交叉点平均距离D(f)满 1 足 2
'2 f ( x ) dx ' D(f ) f ( x ) dx
| G(x) f ( x)dx | | G ' (x) f ' ( x)dx | J(f) SNR(f) Location w w w w 2 f ( x)dx f '2 ( x)dx
SNR(f) | G(x ) f ( x)dx |
w w


w
w
f 2 ( x)dx
源自文库
G(-x)表示图像边函数 f(x)滤波器函数 表示噪声的均方差
Canny算子详细原理
②高的定位精度:Location越大越好
Location | G ' ( x ) f ' ( x)dx |
• 链接边缘的具体步骤如下:
• 对图像2进行扫描,当遇到一个非零灰度的像素p(x,y)时, 跟踪以p(x,y)为开始点的轮廓线,直到轮廓线的终点q(x,y)。 • 考察图像1中与图像2中q(x,y)点位置对应的点s(x,y)的8邻 近区域。如果在s(x,y)点的8邻近区域中有非零像素s(x,y) 存在,则将其包括到图像2中,作为r(x,y)点。从r(x,y)开 始,重复第一步,直到我们在图像1和图像2中都无法继续为 止。 • 当完成对包含p(x,y)的轮廓线的连结之后,将这条轮廓线标 记为已经访问。回到第一步,寻找下一条轮廓线。重复第一 步、第二步、第三步,直到图像2中找不到新轮廓线为止。 • 至此,完成canny算子的边缘检测。
3 1 4 4 0 1 2 5 6 边缘方向示意图 8邻域幅角方向 3 B 3 2 1 4
7
双阈值检测: 由于单阈值处理时,合适的阈值选择较 困难,常常需要采 用反复试验,因此采用双阈值检测算法。 对经过非极大值抑制后的图像作用两个阈值th1,th2, th1=0.4th2,两个阈值作用后得到两个图像1、2,较大阈值 检测出的图像2去除了大部分噪声,但是也损失了有用的边 缘信息。 较小阈值检测得到的图像1则保留着较多的边缘信息,以此 为基础,补充图像2中的丢失的信息,连接图像边缘。
阈值th1----图像1
遍历图像2
非零轮廓 在图像1中找 线终点 对应非零点
阈值th2----图像2
补充到图像2中作为 新的起点继续遍历
xm y m
I. 偏导数:使用微分算子求出偏导数
1 1 1 1 1 1 Gx ,Gy 2 1 1 2 1 1 By 2 2 梯度大小B B x B y , arct an Bx
非极大值抑制: 沿幅角方向检测模值的极大值点,即边缘点, 遍历8个方向图像像素,把每个像素偏导值与相 邻像素的模值比较,取其MAX值为边缘点,置像 素灰度值为0. 2
Canny 算子边缘检测原理
图像边缘
• 图像边缘是指图像中灰度有显著变化的像 素点的集合,从信号研究的频域角度而言, 这些像素点信息属于高频信号区域;图像 边缘往往都是闭合的连线。 • 噪声也属于高频信号,图像处理之前需要 先经过去噪,去噪处理后会对图像真实的 边缘信息造成一定的影响。 • 许多经典的算法很难同时兼顾这两点:去 噪同时不损坏边缘信息。
w w
w
w
通过以上算式得出算子的近似实现:边缘点位于图 像被高斯平滑后的梯度值的极大值点。
算法过程
原始图像 A(x,y)
高斯平 滑去噪
B(x,y)
求导
偏导 (Bx,By)
极大 值抑 制非
图像边缘
双阈值检测 连结边缘
初步得到 边缘点
详细算法过程
I. 高斯函数
x2 y2 n 1 G(x, y) exp | |, m , n表示 2 2 2 x m y m 高斯滤波器窗口大小
边缘检测
滤波 增强 检测 定位
① 平滑图像、去除噪声,主要基于导数计算,但是同时会 减弱一定的边缘信息; ② 求梯度值, ③ 梯度幅度值判定,初步确定图像边缘点,有时某些梯度 幅度值较大点并不一定是边缘点,例如纹理图像; ④ 精确定位边缘位置 ⑤ 边缘提取要求输出的是一个二值化图像,只有黑白两个 灰度,一个表示边缘,另一个表示背景,最后还需要把 边缘细化成只有一个像素的高度,使效果更清晰。
相关文档
最新文档