图像增强与边缘检测

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字图像处理作业----第三次1、什么是图像增强?常见算法有哪些?典型算法的程序实现,其优缺点?结果对比。1.1图像增强的定义为了改善视觉效果或者便于人和机器对图像的理解和分析,根据图像的特点或存在的问题采取的简单改善方法或者加强特征的措施称为图像增强。一般情况下,图像增强是按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程。图像增强的目的是使图像的某些特性方面更加鲜明、突出,使处理后的图像更适合人眼视觉特性或机器分析,以便于实现对图像的更高级的处理和分析。图像增强的过程往往也是一个矛盾的过程:图像增强希望既去除噪声又增强边缘。但是,增强边缘的同时会同时增强噪声,而滤去噪声又会使边缘在一定程度上模糊,因此,在图像增强的时候,往往是将这两部分进行折中,找到一个好的代价函数达到需要的增强目的。传统的图像增强算法在确定转换函数时常是基于整个图像的统计量,如:ST转换,直方图均衡,中值滤波,微分锐化,高通滤波等等。这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其值较小而常常被忽略掉,从而局部区域的增强效果常常不够理想,噪声滤波和边缘增强这两者的矛盾较难得到解决。1.2图像增强的分类及方法图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。图像增强技术根据增强处理过程所在的空间不同,可分为基于空域的算法和基于频域的算法两大类。基于空域的算法处理时直接对图像灰度级做运算,基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法。基于空域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。1.3常用的图像增强方法(1)直方图均衡化有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以通过直方图均衡化将图像的灰度范围分开,并且让灰度频率较小的灰度级变大,通过调整图像灰度值的动态范围,自动地增加整个图像的对比度,使图像具有较大的反差,细节清晰。(2)对比度增强法有些图像的对比度比较低,从而使整个图像模糊不清。这时可以按一定的规则修改原来图像的每一个象素的灰度,从而改变图像灰度的动态范围。(3)平滑噪声有些图像是通过扫描仪扫描输入、或传输通道传输过来的。图像中往往包含有各种各样的噪声。这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。这些噪声的存在直接影响着后续的处理过程,使图像失真。图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声,图像平滑的常用方法是采用均值滤波或中值滤波,均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应像素点的灰度值用掩模内所有像素点灰度的平均值代替,如果规定了在取均值过程中掩模内各像素点所占的权重,即各像素点所乘系数,这时就称为加权均值滤波;中值滤波是一种非线性空间滤波,其与均值滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。(4)锐化平滑噪声时经常会使图像的边缘变的模糊,针对平均和积分运算使图像模糊,可对其进行反运算采取微分算子使用模板和统计差值的方法,使图像增强锐化。图像边缘与高频分量相对应,高通滤波器可以让高频分量畅通无阻,而对低频分量则充分限制,通过高通滤波器去除低频分量,也可以达到图像锐化的目的。1.4实验(一)直方图均衡化,过程如下:(1)计算原图像的灰度直方图)(KrrP;(2)计算原图像的灰度累积分布函数ks,进一步求出灰度变换表;(3)根据灰度变换表,将原图像各灰度级映射为新的灰度级。在MATLAB中,histeq函数可以实现直方图均衡化。该命令对灰度图像I进行变换,返回有N级灰度的图像J,J中的每个灰度级具有大致相同的像素点,所以图像J的直方图较为平坦,当N小于I中灰度级数时,J的直方图更为平坦,缺省的N值为64。代码:%灰度直方图均衡化I=imread('source.jpg');%读取图像subplot(2,2,1);imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I)%绘制图像的灰度直方图title('原图的灰度直方图');imhist(I)%显示原始图像直方图subplot(2,2,3);J=histeq(I,64);%对图像进行均衡化处理,返回有64级灰度的图像Jimshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图');效果图:结果分析:从上图【原图】可以看出原始图像动态范围较小,整体较暗,反映在直方图上像素主要集中在低灰度的一侧,如【原图的灰度直方图】所示。经过对比度调整,图像变亮,可以看到更多的细节如图【原图直方图均衡化】和【均衡后的灰度直方图】所示。优势:可以充分利用图像中的亮度信息,明显改善图像质量,是一种常用的图像增强算法。不足:对于受噪声影响明显的图像,该算法增强效果不明显。即不能有效地抑制噪声。而且,仅仅利用了图像中的局部信息。(二)锐化图像锐化处理的作用是使灰度反差增强,从而使模糊图像变得更加清晰。图像模糊的实质就是图像受到平均运算或积分运算,因此可以对图像进行逆运算,如微分运算以突出图像细节使图像变得更为清晰。由于拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域,减弱灰度的慢变化区域。因此,锐化处理可选择拉普拉斯算子对原图像进行处理产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像。拉普拉斯锐化的基本方法可以由下式表示:),(),(),(2yxfyxfyxg这种简单的锐化方法既可以产生拉普拉斯锐化处理的效果,同时又能保留背景信息:将原始图像叠加到拉普拉斯变换的处理结果中去,可以使图像中的各灰度值得到保留、灰度突变处的对比度得到增强,最终结果是在保留图像背景的前提下,突现出图像中小的细节。代码:a=imread('source.jpg');subplot(221);imshow(a);title('原图');b=double(a);%将图像矩阵转化为double类型s=size(b);c=zeros(s(1,1),s(1,2));forx=2:s(1,1)-1fory=2:s(1,2)-1c(x,y)=(-b(x+1,y)-b(x-1,y)-b(x,y+1)-b(x,y-1)+4*b(x,y));endend%用拉氏算子对图像进行滤波,这个过程相当于运用了一个3×3的掩膜[0,-1,0;-1,4,-1;0,-1,0]subplot(222);imshow(c);title('Laplace锐化滤波图像');d=b+c;%当拉普拉斯掩膜中心系数为正时,增强图像为原图像于拉氏算子滤波图像之和d=uint8(d);%将图像矩阵变回uint8格式subplot(223);imshow(d);title('Laplace锐化滤波结果');效果图;结果分析:比较原始模糊图像和经过拉氏算子运算的图像,可以发现,图像模糊的部分得到了锐化,特别是模糊的边缘部分得到了增强,边界更加明显。但是,图像显示清楚的地方,经过滤波发生了失真,这也是拉氏算子增强的一大缺点。2边缘检测边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点。一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点。根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。为了克服一阶导数的缺点,我们定义图像的梯度为梯度算子,它是图像处理中最常用的一阶微分算法。图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以反映出图像边缘上的灰度变化。2.1边缘检测的基本步骤1.滤波:边缘和噪声同属图像中强度变化剧烈的部位因此边缘检测算子对边缘和噪声都很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测算子的性能。2.增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度之有显著变化的点突显出来。3.检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是利用梯度幅值的阈值作为判据。4.定位:边缘定位即确定边缘点的具体位置,除此之外还应包括边缘细化、连接。图2.1边缘检测的流程常用边缘检测算法经典的边缘检测算法主要有微分法和最优算子法,微分法是通过利用经典的微分算子检测图像的边缘,主要包括Roberts算子、Sobel算子、Prewitt算子、Kirsch算子和Laplacian算子等,最优算子法则是微分算子发展和优化,主要有LOG算子和Canny算子等。1.Roberts算子边缘,是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,∇f指出灰度变化最快的方向和变化量。),(fyfxf梯度大小由22yfxff确定。而梯度方向则由xfyf确定。因此最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子:))1,(),(,,1,(yxfyxfyxfyxff因此当我们寻找边缘的时候,最简单的方法是对每一个像素计算出(2.1.4)的向量,然后求出它的绝对值。利用这种思想就得到了Roberts算子:2122})],1()1,([)]1,1(),({[),(yxfyxfyxfyxfyxg2.Prewitt算子Roberts算子是直观的也是简单的,但是对噪声多的情况显然效果不好。实践中人们做了大量的实践,总结出了一些经验,后来Prewitt提出了一个算子,这就是Prewitt算子。Prewitt边缘检测算子使用两个有向算子(一个水平的,一个是垂直的,一般称为模板),每一个逼近一个偏导数:111000111vp101101101hp如果我们用Prewitt算子检测图像M的边缘的话,我们可以先分别用水平算子和垂直算子对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的M1,M2,他们分别表示图像M中相同位置处的两个偏导数。然后把M1,M2对应位置的两个数平方后相加得到一个新的矩阵G,G表示M中各个像素的灰度的梯度值(一个逼近)。然后就可以通过阀值处理得到边缘图像。我们假设图像的灰度满足下面这个关系:yxMyx,则梯度是(,)。显然,当前像素3×3邻域内像素值为:

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功