边缘检测算法有如下四个步骤:
滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能.需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷.
增强:增强边缘的基础是确定图像各点邻域强度的变化值.增强算法可以将邻域(或局部)强度值有显著变化的点突显出来.边缘增强一般是通过计算梯度幅值来完成的.
检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点.最简单的边缘检测判据是梯度幅值阈值判据.
定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来.
在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向.边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边缘而保留,而把真边缘判别成假边缘而去掉.边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的.我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同. 最近的二十年里发展了许多边缘检测器,这里仅讨论常用的几种边缘检测器. 1、 Roberts算子Roberts交叉算子为梯度幅值计算提供了一种简单的近似方法:
(1)
用卷积模板,上式变成:
(2)
其中Gx和Gy由下面的模板计算:
(3)
同前面的梯度算子一样,差分值将在内插点处计算.Roberts算子是该点连续梯度的近似值,而不是所预期的点处的近似值.Roberts边缘检测器的试验结果见图(3) . 2、 Sobel算子正如前面所讲,采用3*3邻域可以避免在像素之间内插点上计算梯度.考虑一下图6.2中所示的点周围点的排列.Sobel算子也是一种梯度幅值,
(4)
其中的偏导数用下式计算:
(5)
其中常数C=2;和其他的梯度算子一样,和可用卷积模板来实现:
(6)
请注意这一算子把重点放在接近于模板中心的像素点.图6.3和图6.4表明了这一算子的作用.Sobel算子是边缘检测器中最常用的算子之一.
上图 用于说明Sobel算子和Prewitt算子的邻域像素点标记
3、 Prewitt算子 ,Prewitt算子与Sobel算子的方程完全一样,只是常量c=1.所以
(7)
请注意,与Sobel算子不同,这一算子没有把重点放在接近模板中心的像素点.这种边缘检测器的性能也示意在图6.3和图6.4中.
4、 各种算法比较现在来比较一下上面讨论过的边缘检测器.我们将按照本节开头所提出的滤波、增强和检测这三个步骤,来比较各种方法.第四步定位将不讨论.首先给出在忽略滤波步骤情况下Roberts、Sobel和Prewitt边缘检测方法实验结果,如图6.3所示.对滤波后的图象进行边缘检测的结果见图6.4,其中滤波器为前一章介绍的高斯滤波器,梯度幅值的计算见方程6.3.比较图6.3和图6.4可以发现,由于噪声影响,一些假边缘也被检测出来了.
图 用于边缘检测的测试图像
(a)原始图像(b)7x7高斯滤波的图像
图 各种边缘检测器对未经滤波的图像(a)进行边缘检测的比较.
(c)Roberts交叉算子.(d)Sobel算子.(e)Prewitt算子.
图 各种边缘检测器对滤波后的图像(图6.3(b))进行边缘检测的结果.
(a)Roberts交叉算子.(b)Sobel算子.(c)Prewitt算子
分享到:
相关推荐
Canny边缘检测算法原理及其VC实现详解
在所有边缘检测方面,sobel算子边缘检测是最常见也是最准确的。在图像处理中用处很多
一种快速亚像素边缘检测算法的实现的理论,可以快速实现亚像素的算法,在时间上有一定的优势,先看理论,然后自己通过理论用C++实现
自动阀值选取是彩色图像边缘检测的难点和关键问题,首先从人类的视觉...利用小波边缘检测原理,给出一种能根据不同彩色背景自动选取阀值的小波边缘检测算法. 仿真实验证明算法有较好的自适应性和良好的边缘识别性能。
文章利用小波变换和多分辨率分析的性质,从多尺度角度对图像边缘检测算法进行分析,总结出小波变换模极大值多尺度边缘检测算法。通过对标准图像Lena进行小波变换模极大值多尺度边缘检测结果发现,其比小波变换模极大值...
描述了边缘检测算法的详细过程及其原理,对于参加飞思卡尔智能车大赛的人来说很值得一看
总结了二维图像边缘检测的基本原理和各类边缘检测算法的最新研究进展,分别从信噪比、定位精度、单边缘响应和计算效率等方面对一阶和二阶微分算子进行算法对比,分析了各算法的优缺点。同时也总结了现代边缘检测算法...
关于图像边缘检测方面的论文,有基础知识,原理等!
Canny边缘检测算法原理,对图像进行高斯滤波,
同时,针对Prewitt算法边缘检测相对粗糙、边缘细化算法效率较低的问题,分析和改进了原有边缘细化算法,改进算法先对含有噪声的图像进行边缘检测,过滤了伪边缘,再对图像边缘进行细化,从而得到单像素边缘。...
精确确定数字图像边缘的位置,对于图像测量非常重要。同时,图像获取过程中受到各种噪声的影响, 必然会引起图像边缘的模糊,因此对图像边缘提取技术的研究一直...介绍了基于曲面拟合的和基于灰度矩的亚像素边缘检测算法。
总结了目前二维灰度图像的亚像素边缘检测算法,针对它们存在的原理误差、计算复杂、用时长及不能通用等问题,提出了一种新的亚像素边缘检测算法.分析了3种基本边缘(阶跃型边缘、脉冲型边缘、屋脊型边缘)的特点,...
详细讲解sobel算子的原理,有程序与实例图像,sobel算子是边缘检测的基本算子之一。
亚像素边缘检测技术是采用图像处理软件算法来提高检测精度的有效途径, 文中对矩法、拟合法和插值法等常用的亚像素边缘检测算法的原理、优点和不足进行了分析 ,提出了Sigmoid函数拟合的亚像素边缘定位算法.该算法采用...
为提高图像边缘检测的准确性和鲁棒性,提出一种基于鲁棒主成分分析(RPCA)的Canny边缘检测...仿真实验结果表明,该算法在边缘检测的准确性和鲁棒性方面优于Log边缘检测算法、Canny边缘检测算法和Susan边缘检测算法方法。
图像锐化是一种补偿轮廓、突出边缘信息以使图像更为清晰的处理方法。...上,提出了先用边缘检测算法检出边缘,然后根据检出的边缘对图像进行高频增强的方法。实验结果表明,该方法有效地解 决了图像锐化后的噪声问题。
研究了原有的基于模糊推理的边缘检测算法。在分析原有算法存在问题的基础上,提出了一种新的模糊化规则,利用方向灰度对比度去确定边缘隶属度值,增加了去除伪边缘的规则,使得边缘细化。对原有算法和新算法进行了...
文章就结构化道路图像中的车道线识别的边缘检测算法进行了比较研究,分析了几种经典算子的原理,提出了改进的双阈值Canny算子,并做了将经典算子和改进的Canny算子用于车道线检测的仿真实验。实验结果表明,Canny算子...
matlab算法原理详解