版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要主要分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:robert 边缘算子、prewitt 边缘算子、sobel 边缘算子、kirsch 边缘算子以及laplacian 算子等对图像及噪声图像的边缘检测,根据实验处理结果讨论了几种检测方法的优劣.关 键 词:数字图像处理;边缘检测;算子引言图像的边缘是图像的重要特征之一, 数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础, 其目的是精确定位边缘, 同时较好地抑制噪声, 因此边缘检测是机器视觉系统中必不可少的重要环节。然而, 由于实际图像中的边缘是多种边缘类型的组合
2、, 再加上外界环境噪声的干扰, 边缘检测又是数字图像处理中的一个难题。 目录第一章 边缘的概念3第二章 边缘检测4第三章 边缘检测算子的应用8第四章 边缘检测方法性能比较12参考文献料15第1章:边缘检测11 边缘的介绍 图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作用。所谓边缘是指图像局部特性的不连续性。灰度或结构等信息的突变处称为边缘,例如:灰度级的突变,颜色的突变,纹理结构的突变等。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。边缘(edge)是指图像局部强度变化最显著的部分边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、
3、纹理特征和形状特征等图像分析的重要基础图像分析和理解的第一步常常是边缘检测(edge detection)由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一本章主要讨论边缘检测和定位的基本概念,并使用几种常用的边缘检测器来说明边缘检测的基本问题在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标且处在强度显著变化的位置上的点 边缘段:对应于边缘点坐标及其方位,边缘的方位可能是梯度角 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线边缘连接:从无序边缘表形成有序边缘表的过程习惯上边缘的表示采用顺时针方向序 边缘跟
4、踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义请注意,在实际中,边缘点和边缘段都被称为边缘边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定
5、一个像素点是不是边缘12 边缘检测算子边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键.边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。经典的 边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。
6、边缘检测的原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。roberts,sobel,prewwit是基于一阶导数的边缘检测算子,图像的边缘检测是通过2*2或者3*3模板作为核与该图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。laplace边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。laplace算子的改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是拉普拉斯高斯(log)算子。
7、前边介绍的边缘检测算法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数过零点。canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。 13 边缘检测算法对于边缘的检测常常借助于空域微分算子进行,通过将其模板与图像卷积完成. 两个具有不同灰度值的相邻区域之间总存在灰度边缘. 灰度边缘是灰度值不连续(或突变) 的结果,这种不连续常可利用求一阶和二阶导数方便地检测到. 已有的局部技术边缘检测方法,主要有一次微分(sobel 算子、robert s 算子等) 、二次微分(拉普拉斯算子等). 这些边缘检测器对边缘灰度值过
8、渡比较尖锐且噪声较小等不太复杂的图像,大多数提取算法均可以取得较好的效果 . 但对于边缘复杂、采光不均匀的图像来说,则效果不太理想. 主要表现为边缘模糊、边缘非单像素宽、弱边缘丢失和整体边缘的不连续等方面.用算子检测图像边缘的方法是用小区域模板对图像进行处理,即采用卷积核作为掩模模板在图像中依次移动,完成图像中每个像素点同模板的卷积运算,最终输出的边缘幅度结果可以检测出图像的边缘. 卷积运算是一种邻域运算. 图像处理认为:某一点像素的结果不但和本像素灰度有关,而且和其邻域点值有关. 运用模板在图像上依此对每一个像素进行卷积, 即模板上每一个点的值与其在图像上当前位置对应的像素点值相乘后再相加,
9、得出的值就是该点处理后的新值.边缘检测算法有如下四个步骤:滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷增强:增强边缘的基础是确定图像各点邻域强度的变化值增强算法可以将邻域(或局部)强度值有显著变化的点突显出来边缘增强一般是通过计算梯度幅值来完成的检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点最简单的边缘检测判据是梯度幅值阈值判据定位:如果某
10、一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来 在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边缘而保留,而把真边缘判别成假边缘而去掉边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同这里讨论常用的几种边缘检测器 二、 经典边缘检测算子的理论分析和比较 1 . roberts算子 roberts算子
11、是一种斜向偏差分的梯度计算方法, 梯度的大小代表边缘的强度, 梯度的方向与边缘走向垂直。该算子定位精度高, 但容易丢失部分边缘。因为没进行平滑处理, 不具有抑制噪声的能力。用该算子处理边缘陡峭度高且噪声小的图像效果较佳。 roberts交叉算子为梯度幅值计算提供了一种简单的近似方法: (11)用卷积模板,上式变成: (12)其中和由下面的模板计算: (13) 同前面的梯度算子一样,差分值将在内插点处计算roberts算子是该点连续梯度的近似值,而不是所预期的点处的近似值2 .sobel算子和 prewitt算子sobel 算子和p rew it t 算子都是一阶的微分算子,都是先对图像进行平滑
12、处理, 虽然两者都是加权平均滤波, 但是前者邻域的像素对当前像素产生的影响不是等价的, 距离不同的像素具有不同的权值, 对算子结果产生的影响也不同。这两种算子对噪声都有一定的抑制作用, 但不能完全排除检测结果中出现虚假边缘的情况。这两者对灰度渐变低噪声的图像有较好的检测效果, 但是对于混合多复杂噪声的图像处理效果就不理想了。 正如前面所讲,采用邻域可以避免在像素之间内插点上计算梯度考虑一下上图中所示的点周围点的排列sobel算子也是一种梯度幅值, (14)其中的偏导数用下式计算: (15) 其中常数和其他的梯度算子一样,和可用卷积模板来实现: 图11 请注意这一算子把重点放在接近于模板中心的像
13、素点sobel算子是边缘检测器中最常用的算子之一图12图12 用于说明sobel算子和prewitt算子的邻域像素点标记 prewitt算子与sobel算子的方程完全一样,只是常量c=1所以 (16)请注意,与sobel算子不同,这一算子没有把重点放在接近模板中心的像素点3 .拉普拉斯算子平滑过的阶跃边缘二阶导数是一个在边缘点处过零的函数拉普拉斯算子是二阶导数的二维等效式函数的拉普拉斯算子公式为 (17) 使用差分方程对和方向上的二阶偏导数近似如下: (18) 这一近似式是以点为中心的用替换,得到 (19)它是以点为中心的二阶偏导数的理想近似式,类似地, (110)把这两个式子合并为一个算子,
14、就成为下面能用来近似拉普拉斯算子的模板: (111) 当拉普拉斯算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区)原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率,不过由于噪声,结果可能不会很精确 log算法 正如上面所提到的,利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声为此,marr和hildreth146将高斯滤波和拉普拉斯边缘检测结合在一起,形成log(laplacian of gaussian, log)算法,也称之为拉普拉斯高斯算法log边缘检测器的基本特征是: 1 平滑滤波器是高斯滤波器 2 增强步
15、骤采用二阶导数(二维拉普拉斯函数) 3 边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值 4 使用线性内插方法在子像素分辨率水平上估计边缘的位置log算子的输出是通过卷积运算得到的: (112)根据卷积求导法有 (113)其中: (114)称之为墨西哥草帽算子4 .canny 边缘检测器检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点检测阶跃边缘的大部分工作集中在寻找 canny边缘检测器是高斯函数的一阶导数,是对信噪比与定位之乘积的最优化逼近算子canny 1986我们将通过下面的符号对canny边缘检测器算法作一概括说明用表示图像使用可分离滤波方法求图像与高斯平滑滤波
16、器卷积,得到的结果是一个已平滑数据阵列 , 其中是高斯函数的散布参数,它控制着平滑程度 已平滑数据阵列的梯度可以使用一阶有限差分近似来计算与偏导数的两个阵列与: (115)在这个正方形内求有限差分的均值,以便在图像中的同一点计算x和y的偏导数梯度幅值和方位角可用直角坐标到极坐标的坐标转化公式来计算: (116) (139)其中,反正切函数包含了两个参量,它表示一个角度,其取值范围是整个圆周范围内为高效率地计算这些函数,尽量不用浮点运算梯度的幅度和方向也可以通过查找表由偏导数计算 第一章 边缘检测算子的应用 一、sobel算子图像的处理实例本设计用算子处理可以分为四步:首先设计高斯平滑滤波模板;
17、其次读入图片并进行高斯滤波;第三用sobel算子对图像进行处理;最后进行阈值分割细化图像。 第一种方法:设计程序如下clcclose allclear all%生成高斯平滑滤波模板%hg=zeros(3,3); %设定高斯平滑滤波模板的大小为3*3delta=0.5;for x=1:1:3 for y=1:1:3 u=x-2; v=y-2; hg(x,y)=exp(-(u2+v2)/(2*pi*delta2); endendh=hg/sum(hg(:);%读入图像%g = imread(121.jpg); % 读入图像文件f=rgb2gray(im2double(g);subplot(2,2,
18、1),imshow(f)title(原始图像);m,n=size(f);ftemp=zeros(m,n);rowhigh=m-1;colhigh=n-1;%高斯滤波%for x=2:1:rowhigh-1 for y=2:1:colhigh-1 mod=f(x-1,y-1) f(x-1,y) f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1); a=h.*mod; ftemp(x,y)=sum(a(:); endendf=ftempsubplot(2,2,2),imshow(f)title(高斯滤波器后的图像)
19、; %利用第一种算法进行边缘检测%3*3的prewitt算子%sx=-1 0 1;-1 0 1;-1 0 1;sy=-1 -1 -1;0 0 0;1 1 1;for x=2:1:rowhigh-1 for y=2:1:colhigh-1 mod=f(x-1,y-1) f(x-1,y) f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1); fsx=sx.*mod; fsy=sy.*mod; ftemp(x,y)=sqrt(sum(fsx(:)2+(sum(fsy(:)2); endendfs=im2uint8(f
20、temp);subplot(2,2,3),imshow(fs)title(用prewitt检测的原始图像);%域值分割%th2=200; %设定阈值for x=2:1:rowhigh-1 for y=2:1:colhigh-1 if (fs(x,y)=th2)&(fs(x,y-1) fs(x,y+1) ) fs(x,y)=200; elseif(fs(x,y)=th2)&( (fs(x-1,y) fs(x+1,y) fs(x,y)=200; else fs(x,y)=50; end endendsubplot(2,2,4),imshow(fs)title(用prewitt检测并细化后的图像);
21、运行后的图像如下: prewitt对滤波后的图像处理结果 二、其他近似方法:第二种方法程序基本与第一种方法相同,只是在sobel算子处理图像核心处将“ftemp(x,y)=sqrt(sum(fsx(:)2+(sum(fsy(:)2);”换成“ftemp(x,y)=max(abs(sum(fsx(:),abs(sum(fsy(:)”。第三种类似的将ftemp(x,y)=sqrt(sum(fsx(:)2+(sum(fsy(:)2)换成 “ftemp(x,y)=abs(sum(fsx(:)+abs(sum(fsy(:);”。显示结果也是类似的在这里就不给出。三、 prewitt算子对噪声图像的处理prewitt算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。 prewitt算子对噪声图像的处理第四章 边缘检测方法性能比较一、边缘检测方法性能比较梯度边缘检测方法利
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准砂石购销合同文本
- 粮油采购及供应协议
- 购销摄像机合同
- 饲料添加剂采购合同的合同风险防范
- 车库出租合同书范例
- 云服务迁移合同
- 项目服务合同的法律责任认定
- 煤矿安全文明生产与质量标准化
- 自驾车服务畅行无阻
- 家居采购合同的签订要点
- 全国第三届职业技能大赛(数字孪生应用技术)选拔赛理论考试题库(含答案)
- 应用数理统计知到智慧树章节测试课后答案2024年秋中国农业大学
- 大国三农II-农业科技版智慧树知到期末考试答案章节答案2024年中国农业大学
- JBT 1472-2023 泵用机械密封 (正式版)
- 二级公立医院绩效考核三级手术目录(2020版)
- 6人小品《没有学习的人不伤心》台词完整版
- 部编本小学五年级上册语文期末考试(选择题)专项训练题及答案
- 读《让儿童在问题中学数学》有感范文三篇
- 陈述句改成双重否定句(课堂PPT)
- 人教版六年级数学上册总复习教案
- 自闭症儿童行为检核表学前版
评论
0/150
提交评论