matlab数字图像处理图像增强Word格式文档下载.docx
《matlab数字图像处理图像增强Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab数字图像处理图像增强Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
邻域增强算法分为图像平滑和锐化两种。
平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。
常用算法有均值滤波、中值滤波。
锐化的目的在于突出物体的边缘轮廓,便于目标识别。
常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。
基于频率域的算法把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。
采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;
采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。
图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。
在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。
题目要求对图像增强不包括去噪,因此在本文中只考虑图像变换、灰度变换、直方图变换和锐化这四种方法。
图像增强原理
1、图像变换是指图像的二维正交变换,它在图像增强、复原、编码等方面有着广泛的应运。
如傅立叶变换后平均值正比于图像灰度的平均值,高频分量则表明了图像中目标边缘的强度和方向,利用这些性质可以从图像中抽取出特征;
又如在变换域中,图像能量往往集中在少数项上,或者说能量主要集中在低频分量上,这时对低频成分分配较多的比特数,对高频成分分配较少的比特数,即可实现图像数据的压缩编码。
2、灰度变换可使图像动态范围增大,对比度得到扩展,使图像清晰、特征明显,是图像增强的重要手段之一。
它主要利用点运算来修正像素灰度,由输入像素点的灰度值确定相应输出点的灰度值,是一种基于图像变换的操作。
灰度变换不改变图像内的空间关系,除了灰度级的改变是根据某种特定的灰度变换函数进行之外,可以看作是“从像素到像素”的复制操作。
3、图像的灰度直方图是反映一幅图像的灰度级与出现这种灰度级的概率之间的关系的图形。
直方图反应了图像的整体灰度分布情况,对于暗色图像,直方图的组成集中在灰度级低(暗)的一侧,相反,明亮图像的直方图则倾向于灰度级高的一侧。
由于图像的视觉效果不好或者特殊需要,常常要对图像的灰度进行修正,以达到理想的效果,即对原始图像的直方图进行转换。
4、图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像边缘变得清晰。
图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。
从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。
为了要把图像中间任何方向伸展的边缘和轮廓变得清晰,我们希望对图像的某种运算是各向同性的。
图像增强流程图
实例分析
根据项目要求,以下进行灰度变换、直方图变换和锐化这三种图像增强方法的分析。
1、灰度线性变换
为了突出图像中感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区间,可采用分段线性变换,把0-255整个灰度值区间分为若干线段,每一个直线段都对应一个局部的线性变换关系,常用的是三段线性变换方法。
以下是在MATLAB中进行灰度线性变换的处理结果:
上图左边是用到的原是彩色图片,右边是该彩色图片的灰度图像。
从上图可以看出原始图像动态范围较小,整体较暗,反映在直方图上像素主要集中在低灰度的一侧。
线性变换图像[0.010.3]的动态范围较大,整体明暗对比较强,图像变亮,可以看到更多的细节反映在直方图上像素分布较平均。
线性变换图像[0.30.7]的动态范围更大,明暗对比更强,图像与上一张变换图像相比,只突出整幅图片最亮的区域,即图片中的云彩部分的细节。
优势:
可以充分利用图像中的亮度信息,明显改善图像质量,是一种常用的图像增强算法。
不足:
对于受噪声影响明显的图像,该算法增强效果不明显。
即不能有效地抑制噪声。
而且,仅仅利用了图像中的局部信息。
2、直方图均衡化
直方图均衡化过程如下:
(1)计算原图像的灰度直方图Pr(rk);
(2)计算原图像的灰度累积分布函数ks,进一步求出灰度变换表;
(3)根据灰度变换表,将原图像各灰度级映射为新的灰度级。
以下是在MATLAB中进行图像直方图均衡的处理结果:
从直方图统计可以看出,原始图的灰度范围大约是0到100之间,灰度分布的范围比较狭窄,所以整体上看对比度比较差,而直方图均衡化后,灰度几乎是均匀的分布在0到255的范围内,图像明暗分明,对比度很大,图像比较清晰明亮,很好的改善了原始图的视觉效果。
能够使得处理后图像的概率密度函数近似服从均匀分布,其结果扩张了像素值的动态范围,是一种常用的图像增强算法。
不能抑制噪声。
3、锐化
图像锐化处理的作用是使灰度反差增强,从而使模糊图像变得更加清晰。
图像模糊的实质就是图像受到平均运算或积分运算,因此可以对图像进行逆运算,如微分运算以突出图像细节使图像变得更为清晰。
由于拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域,减弱灰度的慢变化区域。
因此,锐化处理可选择拉普拉斯算子对原图像进行处理产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像。
拉普拉斯锐化的基本方法可以由下式表示
这种简单的锐化方法既可以产生拉普拉斯锐化处理的效果,同时又能保留背景信息:
将原始图像叠加到拉普拉斯变换的处理结果中去,可以使图像中的各灰度值得到保留、灰度突变处的对比度得到增强,最终结果是在保留图像背景的前提下,突现出图像中小的细节。
由于上面用到的图片锐化后效果不明显,很勉强只分辨出雨伞的轮廓因此在下面分析中换了一张图片。
以下是在MATLAB中进行图像锐化的处理结果:
原始灰度图像
拉普拉斯锐化滤波图像
拉普拉斯锐化滤波结果
比较原始模糊图像和经过拉氏算子运算的图像,可以发现,图像模糊的部分得到了锐化,特别是模糊的边缘部分得到了增强,边界更加明显。
特别明显的是原图的最下面左右各有一行很模糊的水印,锐化后非常明显。
但是,图像显示清楚的地方,经过滤波发生了失真,这也是拉氏算子增强的一大缺点。
总结
图像增强,拟人说法是给图像“化妆”,是按照特定的需要有选择的突出图像中的某些信息,削弱或去除某些不需要的信息的处理方法。
数字图像增强技术是数字图像处理的基本技术,图像增强的目的是突出图像中人或者机器感兴趣的特征部分,为后续的图像识别、理解、输出显示等服务。
图像增强的方法有很多种,针对不对图像的情况运用不同的增强技术,使图像更容易让人识别、更清晰,是本课题主要的研究目的。
对比度增强法适合于对比度较低的图像,通过线性和非线性的变化,修改每一个像素的灰度,从而改变图像的动态范围达到图像增强的目的。
直方图均衡化针对在低值灰度区间上频率较大、图像中较暗区域中细节看不清楚的图像,有较好的增强效果。
但是上述两种方法的缺点都是不能抑制噪声,对于图像中呈孤立分散分布的噪声点,可以用平滑的方式去除,其中线性滤波实现简单,去噪效果明显,但是去噪的同时会导致结果图像边缘位置的改变和细节模糊甚至丢失;
非线性滤波能够较好的保持图像边缘位置和细节,但是算法的实现相对线性滤波比较困难。
平滑处理的时候经常会使图像的边缘变的模糊,图像锐化处理的作用就是使灰度反差增强,从而使模糊图像变得更加清晰。
最后,图像处理是面向对象和问题的一门学科。
图像处理的研究,也就是针对某一问题最多也就是某一类型问题的算法的研究。
图像处理广阔的领域中,还有很多需要研究和探索的领域,例如:
找到一种客观的评价标准,该标准能对图像能够客观的正确的评价一幅图像的好与坏;
如何对图像进行分类,以便能在成千上万的图像库中实现检索等等。
参考文献
1、《DigitalImageProcessing·
ThirdEdition》·
RafaelC.Gonzalez·
RichardE.Woods·
培生教育出版集团(PearsonEducation)
2、王耀南·
《计算机图像处理与识别技术》·
北京:
高等教育出版社,
2001
3、夏德深,
傅德胜.《计算机图像处理及应用》
南京:
东南大学出版社,
2004.
4、张娜.
《图像增强技术的研究》.
计算机仿真,
2007,
24
(1):
02-04.
5、孙蕾,
李丙春.
《图像增强算法与评价方法研究》.
计算机工程,
2007,33(08):
21-23
6、余成波.
《数字图像处理及MATLAB实现.》
重庆:
重庆大学出版社,
2003
附录
代码一:
%
灰度线性变换,利用imadjust函数对图像局部灰度范围进行扩展
MATLAB
程序实现如下:
I=imread('
9.jpg'
);
%显示原始图像
imshow(I);
title('
原始图像'
I1=rgb2gray(I);
%显示原始图像的灰度图像
subplot(2,3,1),imshow(I1);
灰度图像'
axison;
subplot(2,3,4),imhist(I1);
%画出灰度直方图
灰度图像直方图'
J=imadjust(I1,[0.010.3],[]);
%局部拉伸,把[0.10.5]内的灰度拉伸为[01]
subplot(2,3,2),imshow(J);
线性变换图像[0.010.3]'
subplot(2,3,5),imhist(J);
线性变换图像[0.010.3]直方图'
K=imadjust(I1,[0.30.7],[]);
%局部拉伸,把[0.30.7]内的灰度拉伸为[01]
subplot(2,3,3),imshow(K);
线性变换图像[0.30.7]'
subplot(2,3,6),imhist(K);
线性变换图像[0.30.7]直方图'
代码二:
%直方图均衡化
subplot(2,2,1),imshow(I1);
subplot(2,2,3),imhist(I1);
J=histeq(I1,64);
%对图像进行均衡化处理,返回有64级灰度的图像J
subplot(2,2,2),imshow(J);
均衡化处理后图像'
subplot(2,2,4),imhist(J);
均衡化处理后图像直方图'
代码三:
%锐化
1.jpg'
imshow(I1);
J=double(I1);
%将图像矩阵转化为double类型
K=size(J);
L=zeros(K(1,1),K(1,2));
forx=2:
K(1,1)-1
fory=2:
K(1,2)-1
L(x,y)=(-J(x+1,y)-J(x-1,y)-J(x,y+1)-J(x,y-1)+4*J(x,y));
end
end%用拉氏算子对图像进行滤波,这个过程相当于运用了一个3*3的掩膜[0,-1,0;
-1,4,-1;
0,-1,0]
imshow(L)%显示拉普拉斯锐化滤波图像