基于灰度变换的图像增强及MATLAB实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(
二 〇 〇 九 年 十 二 月
数字图像处理结业论文
学 号: ************
题 目: 基于灰度变换的图像增强及Matlab 实现 ****: *** 学 院: 理学院 系 别: 物理系 专 业: 电子信息科学与技术 班 级: 电科07-2班 ****: *** 学号:************
基于灰度变换的图像增强及Matlab实现
摘要:图像增强不仅可以用于提高图像的视觉外观,而且还是图像边缘检测以及特征提取等技术的基础。此文主要研究用于增强图像的灰度变换方法,包括线性灰度变换、非线性灰度变换与直方图均衡化方法。采用MA TLAB软件进行编程,运用上述算法对图像进行处理。实验结果表明,处理后的图像对比度得到了明显改善,增强了图像的视觉效果。在以上算法中可以通过灵活设置相关参数获取不同的图像增强效果,并且具有处理速度快的优点。
关键字:数字图像处理;图像增强;直方图;均衡化;规定化;matlab
一引言:图像增强技术是不考虑图像降质的原因,只将图像中感兴趣的特征有选择地突出,而衰减其不需要的特征,故改善后的图像不一定要去逼近原图像。如突出目标物轮廓,去除各类噪音,将黑白图像转变为伪彩色图像。从图像质量评价观点来看,图像增强的主要目的是提高图像的可懂度,更有利于人的视觉感知
二图像增强的重要方法简介:
图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。图像增强有图像对比度增强、亮度增强,轮廓增强等等。图像增强有两类方法:空间域法和频率域法。空间域法主要在空间域内对像素灰度值直接运算处理,如图像的灰度变换直方图修正图像空域平滑和蜕化处理。频域法就是在图像的某种变化域内,对图像的变换值进行预算,如先对图像进行傅里叶变换,在进行滤波处理,最后将滤波处理后的图像变换值反变换到空间域,从而获得增强后的图像。
1、对比度增强
是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像
2、直方图增强
(1)直方图均衡化(2)直方图规定化
3、平滑平滑图像中出现某些亮度变化过大的区域,或出现不该有的亮点(“噪声”)时采用平滑方法可以减小变化,使亮度平缓或去掉不必要“噪声”点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。
4、锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰。它是增强图像中的高频成分,在频域处理中称为高通滤波,也就是使图像细节的反差提高,也称边缘增强。要突出图像的边缘、线状目标或亮度变化率大的部分常采用锐化方法。
三直方图增强及matlab实现
3.1 直方图均衡化
直方图均衡化是一种最常用的直方图修正。它是把给定图象的直方图分布改造成均匀直方图分布。由信息学的理论来解释,具有最大熵(信息量)的图象为均衡化图象。直观地讲,直方图均衡化导致图象的对比度增加。直方图均衡化基本做法是将每个灰度区间等概率分布代替了原来的随机分布,即增强后的图象中每一灰度级的像元数目大致相同。直方图均衡化可使得面积最大的地物细节得以增强,而面积小的地物与其灰度接近的地物进行合并,形成综合地物。减少灰度等级换取对比度的增大要注意的是,均衡化处理后的图象只能是近似均匀分布。均衡化图象的动态范围扩大了,但其本质是扩大了量化间隔,而量化级别反而减少了,因此,原来灰度不同的象素经处理后可能变的相同,形成了一片的相同灰度的区域,各区域之间有明显的边界,从而出现了伪轮廓。
matlab直方图均衡化的函数是histeq,
I = imread('pout.tif');
[J,T] = histeq(I);
figure,plot((0:255)/255,T);
图像的灰度直方图均衡化公式:
公式中,T(r k)来表示原图像的第k个灰度级的转换函数。∑表示总和。∑n j/N表示0~j个灰度级的像素数量总和与像素总数的比值,也就是前面讲过的百分位(当前色阶与前面色阶的所有像素数量÷总像素数量)。∑P r(r k)表示第0~k的灰度级出现概率累积相加。因为s是归一化的数值(s∈[0,1]),要转换为0~255的颜色值,需要再乘上255,即S=∑P r(r k)*255。
下面给出直方图均衡化的源程序:ourcePic=imread('D:\sourcePic.JPG'); %读取原图象 [m,n,o]=size(sourcePic);
grayPic=rgb2gray(sourcePic);
figure,imshow(sourcePic);
figure,imshow(grayPic);
gp=zeros(1,256); %计算各灰度出现的概率
for i=1:256
gp(i)=length(find(grayPic==(i-1)))/(m*n); end
figure,bar(0:255,gp);
title('原图像直方图');
xlabel('灰度值');
ylabel('出现概率');
newGp=zeros(1,256); %计算新的各灰度出现的概率
S1=zeros(1,256);
S2=zeros(1,256);
tmp=0;
for i=1:256
tmp=tmp+gp(i);
S1(i)=tmp;
S2(i)=round(S1(i)*256);
end
for i=1:256
newGp(i)=sum(gp(find(S2==i)));