您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 1-边缘检测-sobel等
边缘与轮廓边缘是不同区域的分界线,是图像局部强度变化最显著的那些像素的集合。图像强度的显著变化可分为:(1)阶跃变化(函数),即图像强度在不连续处的两边的像素灰度值有着显著的差异;(2)线条(屋顶)变化(函数),即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘检测当人看一个有边缘的物体时,首先感觉到的便是边缘.在边缘处,灰度和结构等信息的产生突变.边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像.由于图像数据是二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中光照的不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出来的边缘也不一定代表实际边缘.图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈.边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘.边缘检测边缘是位于两个区域的边界线上的连续像素集合理想数字边缘模型•轮廓是物体在场景中的完整边界.•边缘的连接构成轮廓.术语定义边缘点:在亮度显著变化的位置上的点.边缘段:对应于边缘点坐标及其方位.轮廓:边缘列表或一条表示边缘列表的拟合曲线.边缘连接:从无序边缘表形成有序边缘表的过程.边缘跟踪:一个用来确定轮廊的图像搜索过程.边缘检测器:从图像中抽取边缘集合的算法实现边缘检测有两种方法一阶导数法:用梯度算子来计算二阶导数法:用拉普拉斯算子来计算边缘检测斜坡部分与边缘的模糊程度成正比.斜坡数字边缘模型一阶导数可以用于检测图像中的一个点是否在斜坡上.二阶导数的符号可以用于判断一个边缘点.是在边缘亮的一边还是暗的一边.(1)对图像中的每条边缘二阶导数生成两个值(2)一条连接二阶导数正极值和负极值的虚构直线将在边缘中点附近穿过零点.据此可以用于确定粗边线的中心.两种常见的边缘一阶导数和二阶导数示意图(a)阶跃函数(b)线条(屋顶)函数理论曲线实际曲线一阶导数二阶导数图像水平方向剖面一阶导数二阶导数阶梯状-处于图像中2个具有不同灰度值的相邻区域之间脉冲状-对应细条状的灰度值突变区域屋顶状-上升下降沿都比较缓慢一阶导数在图像由暗变明的位置处有1个向上的阶跃,而其它位置都为0,这表明可用一阶导数的幅度值来检测边缘的存在,幅度峰值一般对应边缘位置二阶导数在一阶导数的阶跃上升区有1个向上的脉冲,而在一阶导数的阶跃下降区有1个向下的脉冲,在这两个脉冲之间有1个过0点,它的位置正对应原图像中边缘的位置,所以可用二阶导数的过0点检测边缘位置,而用二阶导数在过0点附近的符号确定边缘象素在图像边缘的暗区或明区对(a、b)而言对(c)而言,脉冲状的剖面边缘与(a)的一阶导数形状相同,所以(c)的一阶导数形状与(a)的二阶导数形状相同,而它的2个二阶导数过0点正好分别对应脉冲的上升沿和下降沿,通过检测脉冲剖面的2个二阶导数过0点就可确定脉冲的范围对(d)而言,屋顶状边缘的剖面可看作是将脉冲边缘底部展开得到,所以它的一阶导数是将(c)脉冲剖面的一阶导数的上升沿和下降沿展开得到的,而它的二阶导数是将脉冲剖面二阶导数的上升沿和下降沿拉开得到的,通过检测屋顶状边缘剖面的一阶导数过0点,可以确定屋顶位置•基本思想:函数导数反映图像灰度变化的显著程度.一阶导数的局部极大值,二阶导数的过零点•一般过程:去噪增强检测定位边缘检测基本思想:计算局部导数边界图像截面图一阶导数法:用梯度算子来计算特点:对于亮的边,边的变化起点是正的,结束是负的。对于暗边,结论相反。常数部分为零。用途:用于检测图像中边的存在二阶导数法:用拉普拉斯算子来计算特点:二阶微分在亮的一边是正的,在暗的一边是负的。常数部分为零。用途:1)二次导数的符号,用于确定边上的像素是在亮的一边,还是暗的一边。2)0跨越,确定边的准确位置梯度:一阶导数的二维等效式梯度为矢量yfxfyxGGyxG),(向量的方向就是函数增大时的最大变化率方向;22|),(|yxGGyxG)/arctan(),(xyGGyxa梯度的幅值和方向:梯度是灰度F(y、x)在YX坐标方向上的导数、表示灰度F(y、x)灰度在YX坐标方向上的変化率4.2基于一阶导数法的边缘检测Roberts算子:梯度交叉算子]1,[],1[]1,1[],[],[yxfyxfyxfyxfjiG用模板来实现100-101-10用差分来近似梯度:图像坐标y轴垂直向下],[]1,[],[],1[yxfyxfGyxfyxfGyxF(y、x)表示灰度是YX坐标的函数Sobel算子:Soleb算子具有平滑效果梯度幅值:差分用下式计算:c=2用模板来实现22yxssM)()()()(456210670432acaaacaasacaaacaasyxPrewitt算子:与Sobel算子的方程完全一样,但c=1,该算子没有把重点放在接近模板中心的像素点.|Sx|产生最强的响应是正交于x轴的边;|Sy|则是正交于y轴的边。边缘检测给定图像中的一个3*3区域,使用下面的边缘检测滤波器进行检测,它们都使用一阶导数边缘检测边缘检测问题原始图像水平梯度部分垂直梯度部分组合得到边缘图像边缘检测边缘检测举例边缘检测中经常碰到的问题是:图像中存在太多的细节。比如,前面例子中的砖墙图像受到噪声的干扰,不能准确的检测边缘解决的一个方法是在边缘检测之前对图像进行平滑边缘检测边缘检测举例原始图像水平梯度部分垂直梯度部分组合得到边缘图像4.3基于二阶导数法的边缘检测图像强度的二阶导数的零交叉点就是找到的边缘点.拉普拉斯算子拉普拉斯算子是二阶导数的二维等效式:22222yfxff],[],1[2],2[],[],1[]),[],1[(22yxfyxfyxfxyxfxyxfxyxfyxfxGxfx这一近似式是以点[x+1,y]为中心的.用x-1替换x:]1,[],[2]1,[22yxfyxfyxfyf],1[],[2],1[22yxfyxfyxfxf同理:用算子表示:希望邻域中心点具有更大的权值010141010214142041412可以用多种方式表示为数字形式。对于一个3x3的区域,经验上被推荐最多的形式是:定义数字形式的拉普拉斯的要求是:系数之和必为0边缘检测Laplacian边缘检测基于2阶导数的Laplacian滤波器Laplacian由于对噪声太敏感,因此一般不单独使用通常和平滑Gaussian滤波器进行结合来进行边缘检测Sobel算子111555111111555111111555111例:图像111111111111111111111555111000000000111555111垂直图像111111111111111111111555111-26-26-26000262626111555111水平图像111000111111000111拉普拉斯算子111555111111555111111555111例:图像111111111111111111111555111-4-4-4888-4-4-4111555111拉普拉斯图像111000111111000111拉普拉斯算子的分析:缺点:对噪音的敏感;不能检测出边的方向应用:拉普拉斯算子不直接用于边的检测,通常只起辅助的角色;检测一个像素是在边的亮的一边还是暗的一边利用零跨越,确定边的位置拉普拉斯高斯算法LoG算法—Marr算子Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(LaplacianofGaussian)算法,也称之为拉普拉斯高斯算法。马尔(Marr-Hildreth)算子是在拉普拉斯算子的基础上实现的。主要得益于对人的视觉机理的研究,具有一定的生物学和生理学意义在较大噪声场合,由于微分算子会起到放大噪声的作用,因此梯度算子和拉普拉斯算子对噪声较敏感一种改进的方法是对图像先进行适当的平滑,以抑制噪声,然后再进行求微分;边缘检测高斯拉普拉斯高斯拉普拉斯(LaplacianofGaussian,LOG,或Mexicanhat,墨西哥草帽)滤波器使用了Gaussian来进行噪声去除并使用Laplacian来进行边缘检测LoG算子的输出是通过卷积运算得到的,hxygxyfxy(,)[(,)(,)]2根据卷积求导法有其中:hxygxyfxy(,)[(,)](,)22222422222gxyxyexy(,)称之为墨西哥草帽算子一维和二维高斯函数的拉普拉斯变换图的翻转图,其中σ=2.课后练习!拉普拉斯高斯边缘检测结果2D高斯拉普拉斯算子可以通过任何一个方形核进行逼近,只要保证该核的所有元素的和或均值为0;右边为一个5×5的核进行逼近算子比较Roberts算子:Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声的能力。该算子对具有陡峭边缘且含噪声少的图像效果较好。Sobel算子和Prewitt算子:都是对图像先做加权平滑处理,然Laplacian算子:是不依赖于边缘方向的二阶微分算子算子,对图像中的阶跃型边缘点定位准确,该算子对噪声非常敏感,它使噪声成分得到加强,这两个特性使得该算子容易丢失一部分边缘的方向信息,造成一些不连续的检测边缘,同时抗噪声能力比较差。算子比较LOG算子:该算子首先用高斯函数对图像作平滑滤波处理,然后才使用Laplacian算子检测边缘,因此克服了Laplacian算子抗噪声能力比较差的缺点,但是在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉了,造成这些尖锐边缘无法检被测到。应用LOG算子,高斯函数中方差参数的选择很关键,对图像边缘检测效果有很大的影响。高斯滤波器为低通滤波器,越大,通频带越窄,对较高频率的噪声的抑制作用越大,避免了虚假边缘的检出,同时信号的边缘也被平滑了,造成某些边缘点的丢失。反之,越小,通频带越宽,可以检测到的图像更高频率的细节,但对噪声的抑制能力相对下降,容易出现虚假边缘。因此,应用LOG算子,为取得更佳的效果,对于不同图像应选择不同参数。Canny边缘检测算法Canny边缘检测基本原理•(1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。•(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。•(3)类似与LoG边缘检测方法,也属于先平滑后求导数的方法。(1)用高斯滤波器平滑图像.(2)用一阶偏导有限差分计算梯度幅值和方向(3)对梯度幅值应用非极大值抑制.(4)用双阈值算法检测和连接边缘.(1)高斯平滑滤波器2/])1,[]1,1[],[],1[(],[2/]),1[]1,1[],[]1,[(],[xySxySxySxySxyQxySxySxySxySxyP(3)幅值和方位角:22],[],[,xyQxyPxyM)],[/],[(arctan],[xyPxyQxy(2)使用一阶有限差分计算偏导数的两个阵列P与Q:00110101(4)非极大值抑制(NMSnon-maximasuppression):细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点.仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。解决方法:利用梯度的方向。*将梯度角的变化范围减小到圆周的四个扇区之一四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。(5)取阈值*将低于阈值的所有值赋零,得到图像的边缘阵
本文标题:1-边缘检测-sobel等
链接地址:https://www.777doc.com/doc-3054861 .html