


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字图像处理作业班级:1050221姓名:李博学号:0 3常用边缘检测算法分析与比较研究摘要: 随着计算机视觉技术的不断发展,其在各行各业得到了广泛的应用。而边缘 提取技术是计算机视觉技术的一个基本的核心的技术, 因为边缘包含着图像的重 要信息,边缘提取的效果在一定程度上也影响着后面进一步处理的精度和性能。 本文分析和比较了一些经典的边缘及爱你侧算子, 然后对其中的不足和缺陷, 提 出了一种改进 Canny 的算法,实验结果表明,改进算法并使得边缘提取的效果 在一定程度上得到了改善。1 概述1.1 . 研究的目的和意义 数字图像处理技术的迅猛发展,其应用前景得到了不可限量的扩展,如今各 行各业
2、都在积极发展与图像相关的技术。 其应用逐渐凸显其魅力, 其应用如医学 影像、航天航空、无人驾驶、自动导航、工业控制、导弹制导、文化艺术等。边 缘检测技术在图像处理和计算机视觉等领域骑着重要的作用, 是图像分析、 模式 识别、目标检测与分割等的前期处理。 前期边缘检测的好坏, 直接影响后期更高 级处理的精度。自从1986年John Canny提出了最优边缘检测算子的三条准则并 推导出了一个近似实现。 但是在实际中, 真正实现这一目标尚有较大的难度。 这 是因为:(1)实际图像一般都含有噪声,并且噪声的分布信息业是未知的,同时 噪声和边缘都属于高频信息, 在进行滤波的同时, 虽然能够在一定程度上抑
3、制噪 声,却也丢失了边缘信息。 (2)由于场景、光照条件的边缘等原因,同一场景在 不同光照条件下得到的边缘可能也是不同的, 设置的阈值也可能是不同的。 针对 这些问题,如何进行改进,并得到一种较理想的边缘检测算子是有必要的。1.2. 本文的框架结构本论文的第一部分主要是介绍了本课题研究的目的和意义; 第二部分主要是 对边缘检测进行概述,并对经典的边缘检测算子进行了分析和比较; ;第三部分 进行了实验对比和分析,得出结论。2. 边缘检测概述2.1 边缘的定义首先介绍什么是边缘。 在数字图像中, 边缘是指图像局部变化最显著的部分, 边缘主要存在于目标与目标, 目标与背景之间, 是图像局部特性的不连
4、续性, 如 灰度的突变、纹理结构的图标、 颜色的图标等。 尽管图像的边缘点产生的原因各 不相同,但他们都是图形上灰度不连续或灰度几句辩护的点, 图像边缘分为阶跃 状、斜坡状和屋顶状。2.2 边缘检测的基本方法 一般图像边缘检测方法主要有如下四个步骤:1)图像滤波 :传统边缘检测算法主要是基于图像强度的一阶和二阶导数,但 导数的计算对噪声很敏感, 因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的 损失,因此,在增强边缘和降低噪声之间需要一个折衷的选择。2) 图像增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法 可以将
5、邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算 梯度的幅值来完成的。3) 图像检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。 最简单的边 缘检测判断依据是梯度幅值。4) 图像定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像 素分辨率上来估计,边缘的方位也可以被估计出来。近20多年来提出了许多边缘检测算子,在这里我们仅讨论集中常见的边缘 检测算子。2.3常见边缘检测算子分析1) 差分边缘检测处理数字图像的离散域时,可以用图像的一阶差分来代替图像函数的导数。 定义二维离散图像函数在 X轴方向的
6、一阶差分为:f(i 1, j) f(i,j)( )丫轴方向上的一阶差分定义为:f(i, j 1) f (i, j)()利用图像灰度的一阶导数算子在灰度值变化显著的地方得到的极值来检测 边缘点。它在某一个点的值就代表了该点的边缘强度值,可通过设置阈值来进一步得到边缘图像。但用差分的方法进行边缘检测必须使差分的方向和边缘的方向 相垂直,这就需要对图像的不同方向分别进行差分运算,增加了运算量。一般可将边缘分为水平边缘、垂直边缘和对角线边缘:000010100110010010000000000图1水平边缘图2垂直边缘图3对角线边缘显然,差分边缘是最原始、最基础的方法,这种算子具有方向性,并且由于计算
7、 不方便等原因,在现在已经很少应用了,但其思想还是很多其他算法的基础。2) Reborts 算子Reboerts算子是一种利用局部差分来寻找边缘的算子,Roberts梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:Gx f(i, j) f(i 1,j1)(Gy f(i 1, j) f (i,j 1)(234(2.3.5)|G(x,y)| G;Roberts梯度算子对应的卷积模版为:Gx1001Gy0110)用以上两个卷积算子与图像运算后,可求出图像的梯度幅值G ( x,y),然后选择适当的阈值t ,若G ( x,y)> t,则(i ,j)为边缘点,否则,判断(i ,j)为非边缘
8、 点。由此得到一个二值图像 g (i,j) ,即边缘图像。 Roberts 算子采用的是用对 角线方向上相邻两像素的差近似梯度幅值来检测边缘, 它的定位精度高, 对于水 平和垂直方向的边缘, 检测效果较好, 而对于有一定倾角的斜边缘, 检测效果则 不理想,存在着许多的漏检。另外,在含噪声的情况下, Roberts 算子不能有效 的抑制噪声, 容易产生一些伪边缘。 因此,该算子适合于对低噪声且具有陡峭边 缘的图像提取边缘。3)Sobel 算子Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪 声。其模版大小为3X3,其将方向差分运算与局部加权平均相结合来提取边缘。 在求取图像
9、梯度之前,先进行加权平均,然后进行未分,加强了对噪声的一致。Sobel 算子所对应的卷积模版为:1 0 1'1 2 1Gx 2 0 2Gy 0 0 0()1 0 11 2 1图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值G ( x,y),然后选取适当的阈值t ,若G ( x,y)> t,贝U (i ,j)为边缘 点,否则,判断(i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图像。 Sobel 算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时, 由于其引入了局部平均, 使其受噪声的影响也较小。 若使用较大的邻域, 抗噪性
10、 会更好,但也增加了计算量, 并且得到的边缘比较粗。 在对精度要求不是很高的 场合下, Sobel 算子是一种较为常用的边缘检测算法。4) Prewitt 算子同 Sobel 算子相似, Prewitt 算子也是一种将方向的差分运算和局部平均相 结合的方法,也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运 算,所不同的是, Sobel 算子是先做加权平均然后再微分, Prewitt 算子是先平均后求微分,其对应的卷积模版为:1 0 1'111Gx 1 0 1Gy 000()101111图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后, 再计算得到 梯度幅值G ( x
11、,y),然后选取适当的阈值t ,若G ( x,y)> t,贝U (i ,j)为边缘 点,否则,判断(i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图 像。在此基础上,有人提出了改进的 Prewitt 算子,将其扩展到八个方向,依次用这些边缘模板去检测图像, 与被检测区域最为相似的样板给出最大值。 用这个 最大值作为算子的输出值 P i ,j, 这样就可将边缘像素检测出来。八个方向的 Prewitt 算子模板及其所对应的边缘方向如下所示:1111111111211211 2 1111111111180 °方向225°方向270 °方向11
12、1'12 11 1 1315 °方向111'111'1 1 1'111'1211211 2 11211111111111110°方向45°方向90°方向135°方向Prewitt 算子通过对图像上的每个像素点的八方向邻域的灰度加权差之和来 进行检测边缘, 对噪声有一定抑制作用, 抗噪性较好, 但由于采用了局部灰度平 均,因此容易检测出伪边缘,并且边缘定位精度较低。5) Kirsch 算子Kirsch算子是一种3X3的非线性方向算子。其基本思想是希望改进取平均 值的过程,从而尽量使边缘两侧的像素各自与自己同
13、类的像素取平均值, 然后再 求平均值之差,来减小由于取平均值所造成的边缘细节丢失。通常采用八方向Kirsch 模板的方法进行检测,取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。常用的八方向Kirsch 模板如下所示:305355'5553333335 535 03333533333503503533553333333'303305555355实际的应用中,通常都是利用简单的卷积核来计算方向差分的,不同的算子 对应着不同的卷积核。 它们在图像的像素点上所产生的两个方向的偏导数用均方 值或者绝对值求和的形式来近似代替梯度幅值, 然后选取一个合适的阈值, 用所 得到的梯
14、度幅值和所设定的阈值进行比较来判断边缘点。 若大于所取的阈值, 则 判断为边缘点;否则,判断为非边缘点。很显然,在提取边缘的过程中,阈值 的选取特别重要, 尤其在含噪图像中, 阈值的选择要折衷考虑噪声造成的伪边缘 和有效边缘的丢失。6) Laplace 算子拉普拉斯算子是不依赖于边缘方向的二阶导数算子, 它是一个标量而不是向用差分方程近似二阶偏倒数的结果如下()(2310)量,具有旋转不变即各向同性的性质。若只关心边缘点的位置而不需要了解一其 周围的实际灰度差时,一般选择该算子提取图像的边缘。Laplace算子的定义为:2 f牙 f(x,y 1)2f(x, y) f(x,y 1)x2 f-4
15、f(x 1,y) 2f(x, y) f(x 1,y) y将这两个式子合并,可以得到近似 Laplace算子的模版:0102 f 141010当Laplace算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过 零点(均匀零区)。原则上,过零点的位置精度可以通过线性内插方法精确到子像 素分辨率。但是拉普拉斯算子在图像边缘检测中并不常用。主要原因有:任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响,一阶导数很小的局部峰值也能导致二阶导数过零点,所以Laplace算子对噪声具有无法接受的敏感性;Laplace算子的幅值产生双边元,这是复杂的分割不希望有的结果;最后,Laplace
16、算子不能检测边缘的方向。为了避免噪声的影响,必须采用特别 有效的滤波方法。所以,人们提出了改进的功LOG算子。7) LOG算子(高斯拉普拉斯算子)LOG算子基本思想是:先在一定的范围内做平滑滤波,然后再利用差分算子 来检测在相应尺度上的边缘。滤波器的选择要考虑以下两个因素: 其一是滤波器 在空间上要求平稳,即要求空间位置误差 x要小;其二是平滑滤波器本身要求是带通滤波器,并且在有限的带通内是平稳的,即要求频域误差要小。根据信号处理中的测不准原理, x和是相互矛盾的,而达到测不准下限的滤波器就是高斯滤波器。Marr和Hildreth提出的这种差分算子是各向同性 的拉普拉斯二阶差分算子。该边缘检测
17、器的基本特征是:(1) 所用的平滑滤波器是高斯滤波器(2) 增强步骤采用的是二阶导数(即二维拉普拉斯函数)(3) 边缘检测的判据是二阶导数过零点并且对应一阶导数的极大值该方法的特点是先用高斯滤波器与图像进行卷积,既平滑了图像又降低了噪声,使孤立的噪声点和较小的结构组织被滤除。 然而由于对图像的平滑会导致边 缘的延展,因此只考虑那些具有局部梯度极大值的点作为边缘点,这可以用二阶 导数的零交叉来实现。拉普拉斯函数可用作二维二阶导数的近似,因为它是一种 标量算子。为了避免检测出非显著的边缘,所以应该选择一阶导数大于某一阈值 的零交叉点来作为边缘点。实际应用中,常用的 LOG算子的模版为:2-4-4-
18、4-24080-448248-44080-42-4-4-4-2说明,高斯平滑运算不但可以滤除噪声,还会导致图像中的边缘和其它尖锐 不连续部分模糊,而模糊程度取决于空间尺度因子C的大小。(T越大,高斯滤波对噪声的滤除效果越好,但同时也会丢失重要的边缘信息,影响到边缘检测器 的性能。如果C较小,又可能导致平滑作用不完全而留有较多的噪声。因此在 实际应用中,要根据情况选择适当的6。8) Ca nny 算子1986年,Canny从边缘检测算子应该满足的三个准则出发,推导出了最优边缘检测算子Canny算子,该算子是目前理论上相对最完善的一种边缘检测算法。 Canny提出的评价边缘检测性能优劣的三个准则分
19、别是:(1) 好的信噪比准则。即将非边缘点判为边缘点的概率要低,将边缘点判为非 边缘点的概率要低;(2) 好的定位性能准则。即检测出的边缘点要尽可能在实际边缘的中心;(3) 单边缘响应准则。即单一边缘具有唯一响应,单一边缘产生的多个响 应的概率要低,并且对虚假边缘的响应应得到最大抑制。利用Canny算子检测边缘的土体算法如下:(1) 用式所示的高斯函数h(r)对图像进行平滑滤波,去除图像中的噪声。(2) 在每一点计算出局部梯度和边缘方向,可以利用Sobel算子、Roberts算子 等来计算。边缘点定义为梯度方向上其强度局部最大的点。3) 对梯度进行“非极大值抑制”。在第二步中确定的边缘点会导致
20、梯度幅度图 像中出现脊。然后用算法追踪所有脊的顶部,并将所有不在脊的顶部的像素设为 零,以便在输出中给出一条细线。4) 双阐值化和边缘连接。脊像素使用两个闽值TI和竹做阂值处理,其中TI<T2. 值大于竹的脊像素称为强边缘像素,Tl和T2之间的脊像素称为弱边缘像素。由 于边缘阵列孔是用高闽值得到的,因此它含有较少的假边缘,但同时也损失了一 些有用的边缘信息。而边缘阵列 Tl的闽值较低,保留了较多信息。因此,可以以边缘阵列几为基础,用边缘阵列Tl进行补充连接,最后得到边缘图像。Canny 算子也存在不足之处,(1)为了得到较好的边缘检测结果,它通常需要使用较大 的滤波尺度,这样容易丢失一些
21、细节;(2) Canny算子的双阈值要人为的选取, 不能够自适应。3.实验与结果分析实验在MATLAB R2007a平台下进行,实验的结果如下图所示:图2原始图图3 Roberts算子图4 Sobel算子图5 Prewitt算子图6 Kirsch算子图7 LOG 算子图5Canny算子4代码function kirsch= edgekirsch(gray,th)m, n=size(gray);%得到图像的大小(长和宽)temp=double(gray);kirsch=zeros(m,n);%定义一个大小为 S的零矩阵%利用Sobel算子进行边缘提取for i=2:m-1for j=2: n-1
22、di=(5*temp(i-1,j-1)+5*temp(i-1,j)+5*temp(i-1,j+1)-3*temp(i,j-1)-3*temp(i,j+1)-3*temp(i+1,j-1)-3* temp(i+1,j)-3*temp(i+1,j+1)A2; %Sobel算子的 dx(垂直梯度)d2=(-3)*temp(i-1,j-1)+5*temp(i-1,j)+5*temp(i-1,j+1)-3*temp(i,j-1)+5*temp(i,j+1)-3*temp(i+1,j-1) -3*temp(i+1,j)-3*temp(i+1,j+1)A2; %Sobel 算子的 dy(水平梯度)d3=(-
23、3)*temp(i-1,j-1)-3*temp(i-1,j)+5*temp(i-1,j+1)-3*temp(i,j-1)+5*temp(i,j+1)-3*temp(i+1,j-1)- 3*temp(i+1,j)+5*temp(i+1,j+1)A2;d4=(-3)*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)-3*temp(i,j-1)+5*temp(i,j+1)-3*temp(i+1,j-1)+ 5*temp(i+1,j)+5*temp(i+1,j+1)A2;d5=(-3)*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,
24、j+1)-3*temp(i,j-1)-3*temp(i,j+1)+5*temp(i+1,j-1)+ 5*temp(i+1,j)+5*temp(i+1,j+1)A2;d6=(-3)*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)+5*temp(i,j-1)-3*temp(i,j+1)+5*temp(i+1,j-1) +5*temp(i+1,j)-3*temp(i+1,j+1)A2;d7=(5*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)+5*temp(i,j-1)-3*temp(i,j+1)+5*temp(i+1,
25、j-1)-3* temp(i+1,j)-3*temp(i+1,j+1)A2;d8 =(5*temp(i-1,j-1)+5*temp(i-1,j)-3*temp(i-1,j+1)+5*temp(i,j-1)-3*temp(i,j+1)-3*temp(i+1,j-1)-3*temp(i+1,j)-3*temp(i+1,j+1)A2;tmp=d1;if d2>tmptmp=d2;else if d3>tmptmp=d3;else if d4>tmptmp=d4;else if d5>tmptmp=d5;else if d6>tmptmp=d6;else if d7>
26、;tmptmp=d7;else if d8>tmptmp=d8;endendendendendendendkirsch(i,j)=round(sqrt(tmp);% kirsch(i,j)=round(sqrt(d1+d2+d3+d4+d5+d6+d7+d8); % 梯度模取整endendfor i=1:mfor j=1:nif kirsch(i,j)>thkirsch(i,j)=255;%将梯度值与阈值比较,大于 T 则把图像的灰度变为 255,小于 T 则把图像的灰度变为 0elsekirsch(i,j)=0;endendendclose allclear;clc;robers
27、t 边缘检测器 sobel 边缘检测器 prewitt 边缘检测器 kirsch 边缘检测器 LOG 边缘检测器 canny 边缘检测器origin=imread('lena.jpg'); gray=rgb2gray(origin); roberts=edge(gray,'roberts'); sobel=edge(gray,'sobel'); prewitt=edge(gray,'prewitt'); kirsch=edgekirsch(gray,256); log=edge(gray,'log');canny=edge(gray,'can
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店公司托管合同(标准版)
- 光缆租赁合同(标准版)
- 礼仪策略与时尚传播
- 陕西省国家矿山安全监察局陕西局直属事业单位招聘考试真题2025
- 难点解析人教版八年级物理上册第6章质量与密度-密度章节训练试题(含答案及解析)
- 2025人教版高二英语名词性从句连接词用法练习题30题带答案解析
- 综合解析人教版八年级物理上册第6章质量与密度-质量综合训练试卷(含答案详解)
- 陈天华遥寄血书课件
- 工程施工组织及售后服务方案
- 安防监控系统施工工艺与质量管控方案
- 运动损伤预防的数字化分析与训练
- 线上离婚协议书
- 《机械加工基础知识》课件
- 护士人员礼仪与行为规范
- 冰雪文化在推动冰雪经济发展中的重要作用
- 2025年森林管护员考试题及答案
- 生物技术合成天然香料香精课件
- 平年与闰年(教学设计)-2024-2025学年三年级上册数学沪教版
- 2025年人民教育出版社有限公司招聘笔试参考题库含答案解析
- 中建附着式电动施工平台专项施工方案
- 方竹种植和管理技术课件
评论
0/150
提交评论