基于matlab的图像增强技术的分析与实现综述.docx

上传人:b****3 文档编号:26450404 上传时间:2023-06-19 格式:DOCX 页数:13 大小:653.97KB
下载 相关 举报
基于matlab的图像增强技术的分析与实现综述.docx_第1页
第1页 / 共13页
基于matlab的图像增强技术的分析与实现综述.docx_第2页
第2页 / 共13页
基于matlab的图像增强技术的分析与实现综述.docx_第3页
第3页 / 共13页
基于matlab的图像增强技术的分析与实现综述.docx_第4页
第4页 / 共13页
基于matlab的图像增强技术的分析与实现综述.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于matlab的图像增强技术的分析与实现综述.docx

《基于matlab的图像增强技术的分析与实现综述.docx》由会员分享,可在线阅读,更多相关《基于matlab的图像增强技术的分析与实现综述.docx(13页珍藏版)》请在冰豆网上搜索。

基于matlab的图像增强技术的分析与实现综述.docx

基于matlab的图像增强技术的分析与实现综述

 

数字图形图像处理

 

基于matlab的

图像增强技术的分析与实现

 

 

基于matlab的图像增强技术的分析与实现

摘要:

基于数字图像增强对图像处理的重要性,将计算软件MATLA应用于数字图像增强中,给出了用这一软件完成图像的对比度增强、直方图均衡化、平滑滤波、锐化等操作的示例,并给出了处理前后的对照图像。

同时论述了MATLAB在进行图像处理试验时简洁、高效的特点。

关键词:

图像增强;MATLAB;直方图均衡化;平滑滤波;锐化

 

基于matlab的图像增强技术的分析与实现

引言:

对于一个图像处理系统来说,可将流程分为三个阶段,在获取原始图像后,首先是图像预处理阶段、第二是特征抽取阶段、第三是识别分析阶段,其中图像预处理阶段尤为重要,如果此阶段处理不当,后面的工作将无法展开。

实际应用中,我们的系统获取的原始图像并非完美:

例如系统获取的原始图像,由于噪声、光照等原因,使得图像的质量不高,需进行预处理,以达到利于我们提取感兴趣的信息的目的。

图像的预处理包括图像增强、平滑滤波、锐化等内容.图像的预处理既可以在空间域实现,也可以在频域内实现,其中空间域内实现是对图像进行点运算,它是一种既简单又重要的图像处理技术,它能让用户改变图像上像素点的灰度值,这样通过点运算处理将产生一幅新图像。

MATLAB是一种简单、高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途。

1、灰度直方图的定义:

一幅数字图像的灰度直方图就是一个灰度级的离散函数。

设变量r代表图像中像素灰度级。

在图像中像素的灰度级可归一化处理,这样,r的值将限定在下述范围之内:

(1)

在灰度级中,r=0代表黑,r=1代表白。

对于一副给定的图像来说,每一个像素取得[0,1]区间内的灰度级是随机的,也就是说r是一个随机变量。

假定对每一瞬间他们是连续的随机变量,那么,就可以用概率密度函数pr(r)来表示原始图像得灰度分布。

如果用直角坐标系的横轴代表灰度级r,用纵轴代表灰度级的概率密度函数pr(r),这样就可以针对一副图像在这个坐标系做一个曲线来。

这条曲线在概率论终就是分布密度曲线,如图1所示。

为了有利于数字图像处理,必须引入离散形式。

在离散形势下,用rk代表离散灰度级,用pr(rk)代表pr(r),并且有下式成立:

(2)

式中nk为图像中出现rk这种灰度的像素数,n是图像中像素总数,而nkn就是概率论中所说的频数。

在直角坐标系中作出rk与pr(rk)的关系图形,这个图形称为直方图。

图像的灰度直方图提供了该图像外观的一个全局描述,所提取的特征具有RST不变性,即旋转、比例和位移不变性,缺点是不能有效地表示图像的空间信息。

2直方图均衡化:

直方图均衡化通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。

通过这种方法,亮度可以更好地在直方图上分布。

这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直方图,并且计算量也不大。

这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景噪声的对比度并且降低有用信号的对比度。

假定变换函数为:

(3)

式中w式积分变量,而

就是r的累计分布函数(CDF)。

这里,累计分布函数是r的函数,并且单调地从0增加到1,所以这个变换函数满足关于T(r)在

内单值单调增加,在

内单值单调增加,在

内有

的两个条件。

对式(3)中的r求导,则:

(4)

再把结果代入式(3)则

(5)

由上面的推导公式可见,在变换后的变量s的定义域的概率密度是均匀分布的。

由此可见,用r的累计分布函数作为变量函数可产生一幅灰度级分布具有均匀概率密度的图像。

其结果扩展了像素取值的动态范围。

正如前面谈到的那样,为了对图像进行数字处理,必须引入离散形式的公式。

当灰度级是离散值的时候,可以用频数近似代替概率值,即:

式中L是灰度级的总数目,nk是取第rk级灰度值的概率,是在图像nk/n中出现第rk级灰度的次数,n是图强技术叫做直方图均衡化处理或直方图线性化处理。

式(3)的离散形式可由式(6)表示:

(6)

其反变换式为:

(7)

因为直方图是近似的概率密度函数,所以用离散灰度级作变换时很少得到完全平坦的结果。

另外,从上例中可以看出变换后的灰度级减少了,这种现象叫做简并现象。

由于简并现象的存在,处理后的灰度级总是要减少的。

这种像素灰度有限的必然结果。

由于上述原因,数字图像的直方图均衡只是近似的。

3、直方图规定化:

直方图规定化是一种借助于直方图来增强图像的方法。

通过将原始图的直方图转化为指定的直方图,可用来校正因拍摄亮度或者传感器的变化而导致的图像差异。

在直方图规定化的过程中,正确地选择规定化的函数有可能获得比直方图均衡化更好的效果,一般分为三个步骤:

(1)如同均衡化方法中,对原始图的直方图进行灰度均衡化:

(8)

(2)规定需要的直方图,并计算能使规定的直方图均衡化的变换:

(9)

(3)将第

(1)个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有的pr(ri)对应到pv(vi)去。

因为在映射过程中有取整误差的影响,所以采用什么样的映射规则在离散空间中很重要。

常用的两种方法为单映射规则(singlemappinglaw,SML)和组映射规则(groupmappinglaw,GML)。

我们采用Matlab进行仿真,具体Matlab算法的流程图见图2、图3所示。

图2SML算法流程图

图3GML算法流程图

4、MATLAB实现图像的锐化:

图像在采集过程中可能因为错误操作或采集方法的固有影响而造成模糊不清,锐化处理就是解决这类现象的方法,其目的是突出图像中的细节或增强被模糊了的细节。

图像锐化在数字印刷设计、图像扫描、医学成像、军事系统等领域有着广泛的应用。

从效果上说,平滑和锐化是一对互逆的操作。

平滑滤波使图像变得模糊的实质是图像受到了平均或积分运算,因此可以考虑对其进行逆运算(如微分运算)从而使图像清晰。

从频率域上分析,图像模糊的根本原因是其高频分量被衰减,因此可以用高通滤波器来使图像变得清晰。

可以尝试用拉普拉斯算子法对图像进行锐化,代码如下:

a=imread(‘image.jpg’);

b=double(a);%将图像矩阵转化为double类型

s=size(b);

c=zeros(s(1,1),s(1,2));

forx=2:

s(1,1)-1 

fory=2:

s(1,2)-1

c(x,y)=(-b(x+1,y)-b(x-1,y)-b

(x,y+1)-b(x,y-1)+43

b(x,y)); 

end

end%用拉氏算子对图像滤波,这个过程相当于运用了一个3×3的掩模[0,-1,0;-1,4,-1;0,-1,0];

d=b+c;%当拉普拉斯掩模中心系数为正时,增强图像为原图像与拉氏算子滤波图像之和;

d=uint8(d);%将矩阵变回uint8格式便于保存。

5、算法举例和实现:

例:

设有一幅原始图像,其直方图见表2(序列号2),目标图像的直方图见表2(序列号4),建立一个计算矩阵如下表1,其中每项分量是原始累积直方图与目标累积直方图各灰度级差的绝对值,当采用SML映射时,从原始累积直方图向目标累积直方图进行,分别在每一列中找到最小值第一次出现的行号,然后将原始图像中灰度级为该列的像素点全部映射到该行号上(见表2序号7)。

当采用GML映射时,从目标累积直方图向原始累积直方图进行,分别在每一行中找到最小值第一次出现的列号,则将原始图像中从前一次映射的下一个灰度级开始,直至到该列灰度级的所有像素点全部映射到该列号上,见表2(序号10)。

1)具体实现的算法如下:

设将原始图像和目标图像分别均衡化后(见图4中a、b)得到的累积直方图分别存储在数组scr(256)和dest(256)中。

/*计算原始图像到目标图像累积直方图各灰度级的差的绝对值*/

doublescrMin[256][256];

for(y=0;y<256;y++)

for(x=0;x<256;x++)

scrMin[x][y]=fabs(Scr[y]-Dest[x]);

/*SML映射,结果见图4中(c)*/

for(y=0;y<256;y++)

{

intminX=0;

doubleminValue=scrMin[0][y];

for(x=1;x<256;x++)

{

if(minValue>scrMin[x][y]);

{

minX=x;

}

}

HistogamSpeciMapping[y]=minx;//建立映射关系

}

/*GML映射,结果见图4中(d)*/

shortlastStartY=0,lastEndY=0,startY=0,endY=0;

for(x=0;x<256;x++)

{

if(minValue>scrMin[x][y])

{

endY=y;

minValue=scrMin[x][y];

}

}

if(startY!

=lastStartY‖endY!

=lastEndY)

{

for(i=startY;i<=endY;i++)

HistogramSpeciMapping[i]=x;//建立映射关系

lastStartY=startY;

lastEndY=endY;

startY=lastEndY+1;

}

}

映射后得到的结果如图4中(c)(d)

图4均衡化和规定化结果及其直方图

2)改进:

从处理后的图像的直方图可以看到,由于在均衡化和规定化时存在灰度级的合并,使得处理后的结果与目标图像仍有差距,尤其在细节部分不够清晰,有很多的细小碎片(如果对图像处理后的结果进行改进,实现灰度级的拉伸,有可能改善图像效果)这里分别尝试使用如下办法:

均衡化时采用改进算法,或者利用滤波实现平滑,在拉伸灰度级的同时将小间断连接起来,随后再进行规定化处理,得到的结果图像及其直方图如图5所示:

图5改进的规定化处理及其直方图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1