杨虹++吴萌
摘要:在图像处理时,常常需要对图像进行平滑,但是平滑后图像的轮廓往往变的有些模糊,为了改变这一影响,需要对图像进行锐化处理,使图像边缘信息呈现出来。对几种图像锐化的方法进行研究,并且对Sobel算法进行改进,进一步对各种方法进行Matlab仿真,分析它们的优缺点,为工程应用提供参考。
关键词:图像处理 Sobel算法 Matlab
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2014)10-0041-02
Abstract:When we deal with the images,the images often need smoothing,but the contour of the smoothed image always become blurred.In order to change this influence,we need to sharpen the images,in order to show the edge information of the images.We studied several method of the image sharpening,at the same time,we improve the algorithm of the Sobel,simulationing these algorithm by Matlab,analysis oftheir advantages and determination,provide a reference for engineering applications.
Key Words:Image processing Algorithm of sobel Matlab
图像锐化主要用于增强图像的灰度跳变部分,这一点与图像平滑对灰度跳变的拟制正好相反[1]。在数字图像处理中,图像的转换或传输往往也会使图像产生模糊,图像锐化可以有效的补偿图像边缘轮廓、突出图像的边缘信息,使图像边缘信息显得更为清晰,更符合人的视觉感官。图像锐化的实质是增强原图像的高频分量,边缘和轮廓一般位于灰度突变的地方,所以利用灰度差分可以锐化边缘。常用的锐化算子有基于一阶导数的Roberts算子、Prewitt算子、Sobel算子和基于二阶微分的Laplacian算子等。本文是利用Matlab实现图像边缘检测,利用Matlab对这几种算法进行比较和研究。
1 Roberts算子
Roberts算子是以斜向偏差分的梯度计算为核心的检测算法,其中,梯度大小表示边缘强度,其方向与边缘走向互相垂直[2]。基于互相垂直的任意一对像素值的差分梯度来锐化图像,通过对角线方向的两个像素点的像素值之差来计算,处理方法如下:
锐化后图像或,Roberts算子对图像边缘的检测是通过计算两个相邻的、对角线方向的像素差来实现,在水平边缘方向和垂直边缘方向均优于斜向边缘,定位精度高但是对噪声很敏感。
2 Prewitt算子
Prewitt算法是经典的一阶算子,它有垂直和水平两个方向模板,其卷积模板为:
其原理是用边缘样板检测图像,取与被检测图像区域最匹配的样板给出的极大值作为该算子的输出。Prewitt算子是利用像素点上、下、左、右邻点灰度差,在边缘处达到极值检测边缘,对噪声有平滑作用[3]。它可以减少噪声的影响,但定位精度却不高。
3 Sobel算子
Sobel算子也是经典的一阶检测算子,它利用像素点上下、左右邻点的灰度加权算法[4],Sobel算法与Prewitt算法有相似之处,它也是采用3*3模板,传统的Sobel算法有垂直和水平两个模板,Sobel具可以表示为:
和
锐化后图像或。
Sobel算子在空间上易于实现,计算量小,速度快,但是由于只采用两个模板,只能检测出水平和垂直两个方向的边缘,定位精度也不高[5]。虽然它对噪声有一定的平滑作用,但是往往会遗漏一些边缘信息或者检测到很多伪边缘信息。为了更有效的检测图像多方向的边缘,使边缘信息更加完整,可以通过增加方向模板改善锐化效果,在传统的两个方向模板的基础上增加六个模板对图像进行检测,所有检测模板如下表示:
4 Laplacian算子
Laplacian算子是基于二阶微分的算法,对任意图像,用如下公式表示二阶微分:
锐化后的图像可以表示为: 作为二阶微分算子,它强调了灰度变化缓慢的区域,所以Laplacian算子对噪声也更加敏感,它使噪声成分加强,检测受到噪声的影响很大,不能准确的判断边缘的存在和边缘的确切位置。
5 仿真与分析
以上对几种算法进行介绍,现用Matlab对几种算法进行仿真,仿真结果如图1.通过对仿真结果的分析可以发现,Roberts算法简单易实现,在图像噪声较少的情况下,水平和垂直两个方向锐化效果较好;Sobel算子和Prewitt算子很相似,只是加权值有所不同,它们都有平滑噪声的能力,其中Sobel算子对于灰度渐变的图像处理效果较好,但它们也都能检测很多虚假边缘并且检测的像素较宽;Laplacian算子检测的方向性不强,容易丢失很多方向信息,锐化后的图像边缘不是很连续,同时它对噪声很敏感。
文中对增加模板的Sobel算法进行研究,仿真效果如图2,从图中可以看出增加方向模板的Sobel算子可以检测更多的边缘信息,锐化效果较好并且优越于文中的其它算法,但八方向模板也存在着不足,锐化后得到的边缘较宽,有待进一步的研究。
参考文献
[1]张铮,倪红霞,苑春苗,等.精通Matlab数字图像处理与识别[M].北京:人民邮电出版社,2013,98-108.
[2]黄锋华,刘琪芳,冀金凤.基于MATLAB数字图像边缘检测算子研究[J].机械工程与自动化,2011,167(4):48-50.
[3]樊娜,李晋惠.图像边缘检测的Prewitt算子的改进算法[J].西安工业学报,2005,25(1):37-39.
[4]陈跃妤.边缘检测算法比较分析[J].农业网络信息,2012(6):31-32.
[5]王艳玲.一种改进的Sobel边缘检测和细化算法[J].桂林师范高等专科学校学报,2011,25(2):152-154.