您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理
《数字图像处理作业》图像的锐化处理---拉普拉斯算子、prewitt算子、sobel算子性能研究对比完成日期:2012年10月6日一、算法介绍1.1图像锐化的概念在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。考察正弦函数,它的微分。微分后频率不变,幅度上升2πa倍。空间频率愈高,幅度增加就愈大。这表明微分是可以加强高频成分的,从而使图像轮廓变清晰。最常用的微分方法是梯度法和拉普拉斯算子。但本文主要探究几种边缘检测算子,Laplace、Prewitt、Sobel算子以下具体介绍。图像边缘检测:边缘检测是检测图像局部显著变化的最基本运算,梯度是函数变化的一种度量。图像灰度值的显著变化可用梯度的离散逼近函数来检测,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。边缘检测可分为两大类基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。1.2拉普拉斯算子拉式算子是一个刻画图像灰度的二阶商算子,它是点、线、边界提取算子,亦称为边界提取算子。通常图像和对他实施拉式算子后的结果组合后产生一个锐化图像。拉式算子用来改善因扩散效应的模糊特别有效,因为它符合降制模型。扩散效应是成像过程中经常发生的现象。拉普拉斯算子也是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义(1)为了更适合于数字图像处理,将拉式算子表示为离散形式:(2)另外,拉普拉斯算子还可以表示成模板的形式,如下图(1)所示,为离散拉普拉斯算子的模板,图(2)表示其扩展模板。图(1)图(2)从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。一般增强技术对于陡峭的边缘和缓慢变化的边缘很难确定其边缘线的位置。但此算子却可用二次微分正峰和负峰之间的过零点来确定,对孤立点或端点更为敏感,因此特别适用于以突出图像中的孤立点、孤立线或线端点为目的的场合。同梯度算子一样,拉普拉斯算子也会增强图像中的噪声,有时用拉普拉斯算子进行边缘检测时,可将图像先进行平滑处理。1.3Prewitt算子(平均差分法)因为平均能减少或消除噪声,Prewitt梯度算子法就是先求平均,再求差分来求梯度。水平和垂直梯度模板分别为:利用检测模板可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。1.4Sobel算子(加权平均差分法)Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。实际使用中,常用如下两个模板来检测图像边缘。-101-202-101图3Sobel算子单独使用Sobel算子做边缘检测,边缘定位精度不高,有时还可能对非边缘像素的响应大于某些边缘处的响应或者响应差别不是很大,造成漏检或误检,但是它对噪声具有较好的鲁棒性。121000-1-2-1Prewitt算子和Sobel算子提取边缘的结果差不多。在提取边缘的同时它对噪声具有平滑作用,能够抑制一定的噪声。由于Prewitt边缘检测算子是通过八个方向模板对图像进行卷积运算,因此运算量比较大。二、程序代码2.1拉普拉斯算子程序代码:(1)I=imread('tire.tif');subplot(1,2,1);imshow(I);title('原始图像');I=double(I);H=[0-10-15-10-10];J=conv2(I,H,'same');subplot(1,2,2);imshow(J,[]);title('拉普拉斯算子增强图像');(2)I=imread('D:\照片\图片11.jpg');[H,W]=size(I);M=double(I);J=M;fori=2:H-1forj=2:W-1J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];end;end;subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(uint8(J));title('锐化处理后的图');2.2Prewitt算子(平均差分法)[I,map]=imread('D:\图片\摄影作品\2.jpg');[H,W]=size(I);M=double(I);J=M;fori=2:H-1forj=2:W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+M(i,j+1)-M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i+1,j-1)-M(i-1,j-1)+M(i+1,j)-M(i-1,j)+M(i+1,j+1)-M(i-1,j+1));end;end;subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(uint8(J));title('Prewitt处理后');2.3Sobel算子[I,map]=imread('D:\图片\摄影作品\伤感.jpg');[H,W]=size(I);M=double(I);J=M;fori=2:H-1forj=2:W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));end;end;subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(uint8(J));title('Sobel处理后');三、图片处理结果1、拉普拉斯算子处理:(1)车轮图片拉式处理结果:(2)本人照片拉氏处理:2.Prewitt算子锐化结果:3.Sobel算子锐化结果:三、性能研究与结论laplace算子是与方向无光的各向同性边缘检测算子,若只关心边缘点的位置而不顾其周围的实际灰度差时,一般选择该算子进行检测.特点:各向同性,线性和位移是不变的,对线性和孤立点检测效果好,但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍的加强作用。prewitt算子为在检测边缘的同时减少噪声的影响,从加大边缘检测算子的模板大小出发,由2*2扩大到3*3来计算差分算子,采用prewitt算子能检测到边缘点,还可以抑制噪声。sobel算子在prewitt算子基础上能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽。梯度算子和laplacian算子都对噪声敏感,因此一般用它们检测边缘前要先对图像进行平滑。四、个人总结通过本次作业的学习与完成实践过程,我了解到了之前听老师课堂上讲的一阶二阶微分算子,但是具体包括哪些也不是很清楚,在完成本次作业过程中了解到一阶微分算子也就是梯度算子,它包括本次论文我用到的prewitt算子和sobel算子。二阶微分算子呢,也就是拉普拉斯算子,通过么MATLAB软件的读图像以及对图像的处理,主要利用matlab程序的编写及验证看最终图像呈现的效果,进而对比得出它们各自性能的研究对比。经过拉普拉斯算子的处理,图像模糊近乎成虚像的形式,边缘信息大量丢失;Prewitt算子将图像边缘拉大,近乎失真;sobel算子处理后也只是轮廓,相比Prewitt算子图像边缘稍微加宽。参考文献:[1]MATLAB7.X图像处理M.何兴华,周媛媛.人民邮电出版社:北京,2006,72-73.[2]数字图像处理M.阮秋琦.电子工业出版社:北京,2005,12-14.[3]MATLAB函数速查手册M.邓微.人民邮电出版社:北京,2008,23-24.
本文标题:拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理
链接地址:https://www.777doc.com/doc-4653168 .html