二、主要研究内容
Canny 边缘检测算子是 John F. Canny 于 1986 年开发出来的一个多级边缘
检测算法。更为重要的是 Canny 创立了边缘检测计算理论(Computational
theory of edge detection)解释这项技术如何工作。
Canny 检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值
的像素点。检测阶跃边缘的大部分工作集中在寻找能够用于实际图像的梯度
数字逼近。由于实际的图像经过了摄像机光学系统和电路系统(带宽限制)固有
的低通滤波器的平滑,因此,图像中的阶跃边缘不是十分陡立。图像也受到
摄像机噪声和场景中不希望的细节的干扰。图像梯度逼近必须满足两个要
求:首先逼近必须能够抑制噪声效应;其次必须尽量精确地确定边缘的位
置。抑制噪声和边缘精确定位是无法同时得到满足的,也就是说,边缘检测
算法通过图像平滑算子去除了噪声,但却增加了边缘定位的不确定性;反过
来,若提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感性。
有一种线性算子可以在抗噪声干扰和精确定位之间提供最佳折中方案,它就
是高斯函数的一阶导数。
(一)Canny 根据检测的要求,定义了下面三个最优准则:
1.最优检测。对真实边缘不漏检,非边缘点不错检,即要求输出信噪比
最大。
2.最优检测精度。检测的边缘点的位置距实际的边缘点的位置最近。
3.检测点与边缘点一一对应。每一个实际存在的边缘点和检测的边缘点是
一一对应的关系。
用一句话说,就是希望在提高对景物边缘的敏感性的同时,可以抑制噪
声的方法才是好的边缘提取方法。
(二)Canny 边缘检测的算法内容为:
1.首先用 2D 高斯滤波模板与原始图像进行卷积,以消除噪声;
2.用一阶偏导的有限差分来计算梯度的幅值和方向;
3.对梯度幅值进行非极大值抑制;
4.用双阈值算法检测和连接边缘。
Canny 算子边缘检测的方法是寻找图像梯度的局部最大值。梯度是用高
斯滤波器的导数计算的。Canny 方法使用两个阈值来分别检测强边缘和弱边
缘,而且仅当强边缘和弱边缘相连时,弱边缘才会包含在输出中。因此,此
方法不容易受噪声的干扰,能够检测到真正的弱边缘。
本文基于 matlab 软件实现对图像的边缘检测,通过用相关的函数实现了
canny 算子的最优检测方法,完成了对图像的最优边缘检测。从而达到了本次
基于 matlab 对 canny 算子图像边缘检测的仿真。
2