1、图像的锐化摘要:图像平滑往往使图像中的轮廓变得模糊,为了减少这类不利影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。本文分析了图像锐化方法中的梯度算子法和二阶导数算子法的各自特点,其中梯度算子法主要是 Roberts 梯度算子法、Prewitt 梯度算子法、Sobel 算子法;二阶导数算子法为Laplacian 算子法,并通过编程对一张实际图片进行了试验对比,结果证明Laplacian 算子法锐化效果最好。引言图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的
2、清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。图像锐化处理的主要技术体现在空域和频域的高通滤波,而空域高通滤波主要用模版卷积来实现。1、梯度算子法在图像处理中,一阶导数通过梯度来实现,因此利用一阶导数检测边缘点的方法就称为梯度算子法。梯度值正比于像素之差。对于一幅图像中突出的边缘区,其梯度值较大;在平滑区域梯度值小;对于灰度级为常数的区域,梯度为零。1.1、Roberts 梯度算子法Roberts 梯度就是采用对角方向相邻两像
3、素之差,故也称为四点差分法。对应的水平和垂直方向的模板为:标注 的是当前像素的位10xG01y置(i,j)为当前像素的位置,其计算公式如下:特点:用4点进行差分,以求得梯度,方法简单。其缺点是对噪声较敏感,常用于不含噪声的图像边缘点检测。梯度算子类边缘检测方法的效果类似于高通滤波,有增强高频分量,抑制低频分量的作用。这类算子对噪声较敏感,而我们希望检测算法同时具有噪声抑制作用。所以,下面给出的平滑梯度算子法具有噪声抑制作用。利用 Roberts 梯度算子法对灰度数字图像 lena.bmp 进行边缘检测程序代码如下:I=imread(C:Documents and SettingsAdminis
4、trator桌面数字图象处理实验mape_filelena.bmp);H,W=size(I);M=double(I);J=M;for i=1:H-1for j=1:W-1J(i,j)=abs(M(i,j)-M(i+1,j+1)+abs(M(i+1,j)-M(i,j+1);end;end;subplot(1,2,1);imshow(I);title(原图);)1,(),(),(),),( jifjifjifjifji subplot(1,2,2);imshow(uint8(J);title(Roberts 处理后);1.2、Prewitt梯度算子法(平均差分法)因为平均能减少或消除噪声,Prew
5、itt梯度算子法就是先求平均,再求差分来求梯度。水平和垂直梯度模板分别为:利用检测模板可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。利用 Prewitt 算子对灰度数字图像 lena.bmp 进行边缘检测,程序代码如下:I=imread(C:Documents and SettingsAdministrator桌面数字图象处理实验mape_filelena.bmp);H,W=size(I);M=double(I);J=M;for i=2:H-1for j=2:W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+M(i,j+1)-M(i
6、,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)-10xd 10ydM(i-1,j+1);end;end;subplot(1,2,1);imshow(I);title(原图);subplot(1,2,2);imshow(uint8(J);title(Prewitt 处理后);1.3、Sobel算子法(加权平均差分法)Sobel算子就是对当前行或列对应的值加权后,再进行平均和差分,也称为加权平均差分。水平和垂直梯度模板分别为: yxSjiG),(102xS 120ySobel算子和
7、Prewitt算子一样,都在检测边缘点的同时具有抑制噪声的能力,检测出的边缘宽度至少为二像素。由于它们都是先平均后差分,平均时会丢失一些细节信息,使边缘有一定的模糊。但由于Sobel算子的加权作用,其使边缘的模糊程度要稍低于程度要稍低于Prewitt算子。利用Sobel 边缘检测算子法对灰度数字图像lena.bmp进行边缘检测,程序代码如下:I=imread(C:Documents and SettingsAdministrator桌面数字图象处理实验mape_filelena.bmp);H,W=size(I);M=double(I);J=M;for i=2:H-1for j=2:W-1J(i
8、,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 处理后);2、二阶导数算子法对于阶跃状边缘,其二阶导数在边缘点处出现过零交叉,即边缘点两旁的二阶导数取异号,据此可以通过二阶导数来检测边缘点
9、。2.1、Laplacian算子法对数字图像 f (m,n),用差分代替二阶偏导,则Laplacian算子为: )1,(),(),1(4),( jifjifjifjijijiG写成检测模板为:Laplacian检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。按下面要求编写程序并运行结果。用 Laplacian 锐化算子对灰度数字图像 lena.bmp 进行锐化处理,显示处理前、后图像。程序代码如下:I=imread(C:Documents and SettingsAdministrator桌面数字图象处理实验mape_filele
10、na.bmp);H,W=size(I);M=double(I);J=M;for i=2:H-1for j=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(锐化处理后的图);运行结果如下:3、结语锐化的实质是:锐化图像g(m,n) = 原图像f(m,n) + 加重的边缘(*微分)由实验效果对比图可以看出Sobel算子处理图像后使边缘有一定的模糊。但其边缘的模糊程度要稍低于程度要稍低于Prewitt算子。Laplacian检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。参考文献:1 MATLAB7.X图像处理M.何兴华,周媛媛.人民邮电出版社:北京,2006,72-73.2 数字图像处理M.阮秋琦.电子工业出版社:北京,2005,12-14.3 MATLAB函数速查手册M.邓微.人民邮电出版社:北京,2008,23-24.