图像处理之四种边缘检测算子比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理
第三次作业
SpadesQ,
Sun Yat-sen University
2017/4/27
1.边缘检测
边缘一般是指图像在某一局部强度剧烈变化的区域。强度变化一般有两种情况:
●阶跃变化
●屋顶变化
边缘检测的任务:
找到具有阶跃变化或者屋顶变化的像素点的集合。
边缘检测基本原理:
既然边缘是灰度变化最剧烈的位置,最直观的想法就是求微分。
对于第一种情况:一阶微分的峰值为边缘点,二阶微分的零点为边缘点。
对于第二种情况:一阶微分的零点为边缘点,二阶微分的峰值为边缘点。
2.matlab内置函数
分析:通过对Roberts,Sobel,Prewitt,Log和Canny进行MATLAB 仿真实验对比,结果表明,Sobel,Prewitt和Roberts算子的算法简单,但检测精度不高,Log和Canny算子的算法复杂,但检测精度较高。在应用中应根据实
际情况选择不同的算子。
3.四种算子对比分析
3.1 Sobel算子
Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为3×3,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行微分,加强了对噪声的一致。Sobel 算子所对应的卷积模版为:
图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值G ( x,y),然后选取适当的阈值τ,若G ( x,y)>τ,则(i ,j)为边缘点,否则,判断(i,j)为非边缘点。由此得到一个二值图像{ g (i,j)},即边缘图像。Sobel 算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时,由于其引入了局部平均,使其受噪声的影响也较小。若使用较大的邻域,抗噪性会更好,但也增加了计算量,并且得到的边缘比较粗。在对精度要求不是很高的场合下,
3.2 Prewitt算子
同Sobel 算子相似,Prewitt 算子也是一种将方向的差分运算和局部平均相结合的方法,也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运算,所不同的是,Sobel 算子是先做加权平均然后再微分,Prewitt 算子是先平均后求微分,其对应的卷积模版为:
图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值G ( x,y),然后选取适当的阈值τ,若G ( x,y)>τ,则(i ,j)为边缘点,否则,判断(i ,j)为非边缘点。由此得到一个二值图像{g (i,j)},即边缘图像。
3.3 Roberts算子
Reboerts算子是一种利用局部差分来寻找边缘的算子,Roberts 梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:
Gx = f(i,j) - f(i-1,j-1)
Gy = f(i-1,j) - f(i,j-1)
|G(x,y)| = sprt(Gx^2-Gy^2)
Roberts梯度算子对应的卷积模版为:
用以上两个卷积算子与图像运算后,可求出图像的梯度幅值G ( x,y),然后选择适当的阈值τ ,若G (x,y)>τ,则(i,j)为边缘点,否则,判断(i,j)为非边缘点。由此得到一个二值图像{g(i,j)},即边缘图像。Roberts 算子采用的是用对角线方向上相邻两像素的差近似梯度幅值来检测边缘,它的定位精度高,对于水平和垂直方向的边缘,检测效果较好,而对于有一定倾角的斜边缘,检测效果则不理想,存在着许多的漏检。另外,在含噪声的情况下,Roberts 算子不能有效的抑制噪声,容易产生一些伪边缘。因此,该算子适合于对低噪声且具有陡峭边缘的图
像提取边缘。
3.4 LOG算子
LOG算子基本思想是:先在一定的范围内做平滑滤波,然后再利用差分算子来检测在相应尺度上的边缘。滤波器的选择要考虑以下两个因素:其一是滤波器在空间上要求平稳,即要求空间位置误差Δx要小;其二是平滑滤波器本身要求是带通滤波器,并且在有限的带通内是平稳的,即要求频域误差Δω要小。根据信号处理中的测不准原理,Δx和Δω是相互矛盾的,而达到测不准下限的滤波器就是高斯滤波器。Marr 和Hildreth 提出的这种差分算子是各向同性的拉普拉斯二阶差分算子。该边缘检测器的基本特征是:
(1)所用的平滑滤波器是高斯滤波器
(2)增强步骤采用的是二阶导数(即二维拉普拉斯函数)
(3)边缘检测的判据是二阶导数过零点并且对应一阶导数的极大值
该方法的特点是先用高斯滤波器与图像进行卷积,既平滑了图像又降低了噪声,使孤立的噪声点和较小的结构组织被滤除。然而由于对图像的平滑会导致边缘的延展,因此只考虑那些具有局部梯度极大值的点作为边缘点,这可以用二阶导数的零交叉来实现。拉普拉斯函数可用作二维二阶导数的近似,因为它是一种标量算子。为了避免检测出非显著的边缘,所以应该选择一阶导数大于某一阈值的零
交叉点来作为边缘点。实际应用中,常用的LOG算子的模版为:
高斯平滑运算不但可以滤除噪声,还会导致图像中的边缘和其它尖锐不连续部分模糊,而模糊程度取决于空间尺度因子σ的大小。σ越大,高斯滤波对噪声的滤除效果越好,但同时也会丢失重要的边缘信息,影响到边缘检测器的性能。如果σ较小,又可能导致平滑作用不完全而留有较多的噪声。因此在实际应用中,要根据情况选择适当的σ。