边缘检测效果对比

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

图像边缘检测算法效果对比目录一、引言二、边缘检测2.1Roberts梯度算子2.2Prewitt算子2.3Sobel算子2.4Laplace算子2.5Canny算子三、几种算子的比较3.1基于Matlab的边缘检测算法实现3.2算法比较四、最小二乘支持向量机在边缘检测中的应用五、结束语六、参考文献摘要:边缘是图像最基本的特征,包含图像中用于识别的有用信息,边缘检测是数字图像处理中基础而又重要的课题。文章具体考察了5种经典常用的边缘检测算子以及最小二乘支持向量机提取边缘检测算子,并运用Matlab进行图像处理结果比较。梯度算子简单有效,LOG算法和Canny边缘检测器能产生较细的边缘。最小二乘支持向量机结合图像的梯度和零交叉信息,选取一定的参数条件,可以获得比Canny方法更好的性能。一、引言图像边缘是图像最基本的特征之一,往往携带着一幅图像的的大部分的信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处。这些点给出了图像轮廓的位置,这些轮廓常常是在图像处理时所需要的非常重要的一些特征条件,这就需要对一幅图像检测并提取出它的边缘。而边缘检测算法则是处理问题中经典技术难题之一,它的解决对于进行高层次的特征描述、识别和理解等有着重大的影响;又由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质级好的效果的边缘检测算子的问题。由于边缘检测在图像处理系统中占有重要的作用,所以其效果直接影响着后续图像处理效果的好坏。许多数字图像处理直接或间接地依靠边缘检测算法的性能,并且在模式识别、机器人视觉、图像分割、特征提取、图像压缩等方面都把边缘检测作为最基本的工具。但实际图像中的边缘往往是各种类型的边缘以及它们模糊化后结果的组合,并且在实际图像中存在着不同程度的噪声,各种类型的图像边缘检测算法不断涌现。早在1965年就有人提出边缘检测算子,边缘检测的传统方法包括Kirsch,Prewitt,Sobel,Roberts,Robins,Mar-Hildreth边缘检测方法以及Laplacian-Gaussian(LOG)算子方法和Canny最优算子方法等。本文主要讨论其中5种边缘检测算法以及最小二乘支持向量机进行图像边缘处理算法的性能,并使用Matlab7.8图像处理工具以实际图像为例对这些方法进行比较。二、边缘检测在Marr的视觉计算理论框架中,抽取二维图像上的边缘、角点、纹理等基本特征,是整个系统框架中的第一步。这些特征所组成的图称为基元图。Yuille等指出,在不同“尺度”意义下的边缘点,在一定条件下包含了原图像的全部信息。图画出了一幅图像中的边缘点,仅仅根据这些边缘点,就能识别出三维物体,可见边缘点确实包含了图像中的大量信息。(1)空间曲面上的不连续点。如标为A的边缘线,这些边缘线为两个不同曲面的或平面的交线,该点处物体表面的法线方向不连续,在A类边缘线的两边,图像的灰度值有明显的不同。(2)B类边缘线。B类边缘线是由不同材料或相同材料不同颜色产生的。图中桌面由两种不同材料组成,由于它们对光的反射系数不同,使B边缘线的两侧灰度有明显不同。(3)C类边缘线。C类边缘线是物体与背景的分界线。如图中圆柱上有两条C类边缘线,这类边缘线一般称为外轮廓线。在C类边缘点上,三维物体表面的法线方向是连续的,出现边缘点是由于从一定视角看物体时,C类边界点是物体与背景的交界处。由于物体与背景在光照条件与材料反射系数等方面差异很大,因此在C类边缘两侧,图像的灰度也有很大差异。图中标以C′的边缘,即是物体与背景的交界处,也是物体上表面法线的不连续处,但引起它两侧灰度跃变的原因是前者。(4)D边缘。D是阴影引起的边缘。由于物体表面某一部分被另一物体遮挡,使它得不到光源的照射,从而引起边缘点两侧灰度值有较大的差异。结论:边缘是图像的灰度不连续处,或灰度急剧变化的地方边缘检测与微分运算。如前所述,边缘点是信号“变化剧烈”的地方,但这么说并不准确,需要定义一个准确的边缘数学模型。以一维信号为例,下图(b)是一种阶跃信号,我们当然认为A点处为边缘点。在实际情况中,物理信号不可能有理想的突变,而是图(b)所示的逐渐增大的信号,对图(b)中所示A、B、C三点,一般称B点为边缘点。在图(c)和图(d)中,如果台阶比较窄,即可以认为B点为边缘点,也可以认为该信号有两个边缘点A与C。图像中不同类型的边界(a)边界(b)线(c)折线变化(d)缓慢的平滑变化数字图像中,边缘(edge)是指图像局部强度变化最显著的部分。边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间。边缘检测常用到的有属于简单空域微分算法的Roberts算子、Sobel算子、Prewitt算子,拉普拉斯高斯(LOG)算法以及Canny边缘检测器等。边缘检测算法的基本步骤:①滤波:改善与噪声有关的边缘检测器的性能;一般滤波器降导致了边缘的损失;增强边缘和降低噪声之间需要折衷;②增强:将邻域强度值有显著变化的点突显出来,边缘增强一般是通过计算梯度幅值来完成的;③检测:最简单的边缘检测判据是梯度幅值阀值;④定位:边缘的位置和方位在子像素分辨率上估计。2.1Roberts梯度算子对阶跃状边缘,在边缘点处一阶导数有极值,因此可计算每个像素处的梯度来检测边缘点。对于图像g(x,y),在(x,y)处的梯度定义为grad(x,y)。梯度是一矢量,大小代表边缘的强度,方向与边缘走向垂直。梯度算子仅用最近邻像素的灰度计算,对噪声敏感,无法抑制噪声的影响。由Roberts提出的算子是一种利用局部差分寻找边缘点的算子,对于边缘界陡峭且噪比较小的图像检测效果比较好,它在2×2邻域上计算对角导数,(1)又成为Roberts交叉算子。在实际应用中,为简化运算,用梯度函数的Roberts绝对值来近似:(2)用卷积模版,上式可以变成:(3)其中和由下面图3所示的模版计算:100-1Roberts边缘检测算子的模版Roberts算子是该点连续梯度的近似值,而不是所预期的点处的近似值。由上面连个卷积算子对图像运算后,带入(3)式,可求得图像的梯度幅度值,然后选取适当的门限TH,做如下判断:TH,[i,j]为阶跃状边缘点,{G[i,j]}为一个二值图像,也就是图像的边缘。由于利用局部差分检测比较陡峭的边缘,但对于噪声比较敏感,经常会出现孤立点,于是人们又提出了Prewitt算子。2.2Prewitt算子为在检测边缘的同时减少噪声的影响,Prewitt算子从加大边缘检测算子出发,由2×2扩大到3×3来计算差分算子,所以其卷积模版为下图所示-1-1-100011101-10Prewitt边缘检测算子的模版在图像中的每个像素位置都都用这2个模版做卷积,Prewitt算子将方向差分运算与局部平均结合起来,表达式如下:(1)(2)根据上式,可以计算Prewitt梯度,选取适当的阈值T,对梯度图像二值化,得到一幅边缘二值图像,采用Prewitt算子不仅能检测边缘点,而且还能抵制噪声的影响。2.3Sobel算子在图像空间利用两个方向模版与图像进行邻域卷积来完成。这两个方向的模版一个检测垂直边缘,一个检测水平边缘,如图所示。图中,模版内的数字为模版系数,梯度方向与边缘方向总是正交图Sobel算子模版元素和窗口像素之间的对应关系(以3×3窗口为例)定义如下窗口灰度为:-101-101-101模版卷积计算就是下式乘积和的过程:式中,i=1,2分别代表垂直和水平模版,为模版卷积法边缘检测的输出,i=[L/2],L为窗口宽度,对3×3窗口,I=1.将两个卷积结果的最大值,赋给图像中对应模版中心位置的像素,作为该图像的新灰度值,即:Prewitt和Sobel算子Prewitt从加大边缘检测算子的模板大小出发,由2×2扩大到3×3来计算差分算子,采用Prewitt算子不仅能检测边缘点,而且能抑制噪声的影响。Sobel在Prewitt算子的基础上,对4-邻域采用带权的方法计算差分,该算子不仅能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽2.4Laplace算子Laplace算子是一与方向无关的各向同性(旋转轴对称)边缘检测算子。其特点是各向同性、线形和位移不变,对细线和孤立点检测效果好。但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍加强作用。由于梯度算子和Laplace算子都对噪声敏感,因此一般在用它们检测边缘前要先对图像进行平滑。噪声点对边缘检测有较大的影响,效果更好的边缘检测器是高斯-拉普拉斯(LOG)算子。它把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测,所以效果更好。常用的LOG算子是5×5的模板:LOG算子中心点的距离与位置加权系数的关系若将上图绕y轴作旋转一周后,LOG算子很像一顶墨西哥草帽,所以,LOG又叫墨西哥草帽滤波器。2.5Canny算子具有既能滤去噪声又保持边缘特性的边缘检测最优滤波器,其采用一阶微分滤波器。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子,这就是Canny边缘检测算子。类似与Marr(LOG)边缘检测方法,也属于先平滑后求导数的方法。现在对Canny边缘检测器作一概括说明,用f[i,j]表示图像,使用可分离滤波方法求图像与高斯平滑滤波器卷积,得到的结果是一个已平滑数据阵列。(1)其中代表一个高斯滤波的过程,而是高斯函数的标准差,它控制着平滑程度。已平滑数据阵列的梯度可以用2×2一阶有限差分近似式来计算x与y偏导数的两个阵列与;(2)(3)在这个2×2正方形内求有限差分的均值,以便在图像中的同一点计算x和y的偏导数梯度,幅值和方位角可用直角坐标的坐标转化公式来计算:(4)(5)其中,反正切函数包含了两个参量,它表示一个角度,其取值范围是整个圆周范围内。为高效率地计算这些函数,尽量不用浮点运算。梯度的幅度和方向也可以通过查找表由偏导数计算。方正切函数的大多数计算使用的是定点运算,很少的几个计算是基本浮点运算,其中的浮点运算是由整数和定点算术通过软件实现的。在上式中,反映了图像上的点[i,j]处的边缘强度,是图像点[i,j]的法向矢量,正交于边缘方向。根据Canny的定义,中心边缘点为算子与图像的卷积在边缘梯度方向上的最大值,这样就可以在每个点的梯度方向上判断此点强度是否为其邻域的最大值来确定该点是否为边缘点。当一个像素满足下面三个条件时,则被认为是图像的边缘点:(1)该点的边缘点大于该点梯度方向的两个相邻像素点的边缘强度;(2)该点梯度方向上相邻两点的方向差小于π/4;(3)以该点为中心的3×3邻域中的边缘强度极大值小于某个阈值;Canny给出的这三个判定具有广泛的代表意义。三、几种算子的比较3.1基于Matlab的边缘检测算法实现以下代码给出了针对同一幅图像的5种边缘检测的不同效果。使用Matlab7.8图像处理工具箱中的edge函数编程实现。I=imread('D:\yaya.jpg');BW1=edge(I,'roberts');BW2=edge(I,'prewitt');BW3=edge(I,'sobel');BW4=edge(I,'log');BW5=edge(I,'canny');figure;imshow(I);figure;subplot(231);imshow(BW1);subplot(232);imshow(BW2);subplot(233);imshow(BW3);subplot(234);imshow(BW4);subplot(235);imshow(BW5);运行结果为:3.2算法比较Roberts算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt算子和Sobel算子都是一阶的微分算子,这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。LOG平滑作用显著,去除噪声好,但

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功