图像增强算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用 r 的累积分布函数作为变换函数可产生一幅灰度级分布具有均匀概率密度的图像。其结果 扩展了像素取值的动态范围。通常把为得到均匀直方图的图像增强技术叫做直方图均衡化处
理或直方图线性化处理。用离散形式表示累积分布函数为:
sk
T (rk )
k

n
j
j0 n
k 0,1,2,,l-1
3.2.2 直方图均衡化步骤
图 直方图均衡化对比示意图
4.维纳滤波图像去噪方法的研究
4.1 wiener2c++代码
BOOL WienerFilter(WORD *pData, int iWid, int iHgh, int ihoodW, int ihoodH) { if (pData == NULL) {
return FALSE; }
float
ftemp
=
(pData[i]-pMean[i])*pVal[i]/(pVal[i]+(float)dMean)+pMean[i];
if (ftemp<0) {ftemp = 0; }
if (ftemp > (GRAYLEVEL-1)) {ftemp = GRAYLEVEL-1;}
pData[i] = (WORD)ftemp;
对图像进行处理时,经常运用图像增强技术以改善图像的质量增强对某种信 息的辨识能力,以更好的应用于现代各种科技领域,图像增强技术的快速发展同 它的广泛应用是分不开的,发展的动力来自稳定涌现的新的应用,我们可以预料, 在未来社会中图像增强技术将会发挥更为重要的作用。在图像处理过程中,图像 增强是十分重要的一个环节。
3.图像增强算法
图像增强方法从增强的作用域出发,可分为空间域增强和频率域增强两种。 频率域方法在图像的某个频率域中对变换系数进行处理, 然后通过逆变换获得 增强图像。空间域方法对图像进行点运算,是一种既简单又重要的图像处理技术,
它能让用户改变图像上像素点的灰度值, 这样通过点运算处理将产生一幅新图 像。本节主要介绍灰度变换和直方图均衡变换。
//temp for mean double dMean=0; for ( i = 0 ; i < iSize ; i ++ ) { dMean+=(double)pVal[i]/iHgh; } dMean=dMean/iWid;
for ( i = 0 ; i < iSize ; i ++ )
{
pVal[i]=(pVal[i]-(float)dMean)>0?(pVal[i]-(float)dMean):0;
展至[c,d],其数学表达式如下:
g(x,
y)

c

d b

c a
[(
f
(x,
y)

a)]
在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。这
时在显示器上看到的将是一个模糊不清、似乎没有灰度层次的图像。采用线性变
换对图像每一个像素灰度作线性拉伸,可有效地改善图像视觉效果。
这种线性变换使灰度小于 a 和灰度大于 b 的像素灰度强度强行变换成 c 和
(1) 列出原始图像灰度级 fj, j=0,1,…,k,…,L-1; (2) 统计各灰度级的象素数目,nj, j=0,1,,…,k,…,L-1; (3) 计算原始图像直方图 Pf(fj)=nj/n,n 为原始图像总的象素数目; (4) 计算累积分布函数 c(f); (5) 应用转移函数,计算映射后的灰度级,gi=INT[(gmax-gmin)c(f)+gmin+0.5] (6) 统计映射后各灰度级的象素数目 ni, i=0,1,…,p-1; (7) 计算输出图像直方图 Pg(gi)= nj/n,i=0,1,…,p-1; (8) 用 fj 和 gi 的映射关系,修改原始图像灰度级,获得直方图近似均匀分布的输出图像。
for ( int i = 0 ; i < iWid ; i ++ ) { ftemp=0; for ( int x = 0 ; x < iKWid ; x ++ ) {
for ( int y = 0 ; y < iKHgh ; y ++ ) { int ix=(x-iKWid/2+i)<0?0:(x-iKWid/2+i); int iy=(y-iKHgh/2+j)<0?0:(y-iKHgh/2+j); if ((ix+1)>iWid) {ix=iWid-1;} if ((iy+1)>iHgh) {iy=iHgh-1;} ftemp+=pData[ix+iy*iWid]*pKernel[x+y*iKWid]; } } pRes[j*iWid+i] = ftemp; } } } void Filter2(float *pRes,float *pData, int iWid, int iHgh, float *pKernel, int iKWid, int iKHgh) { float ftemp=0; for ( int j = 0 ; j < iHgh ; j ++ ) { for ( int i = 0 ; i < iWid ; i ++ ) {
3.1 灰度变换
灰度变换是图像增强的重要方法之一,它不改变图像内的空间关系,可使图 像动态范围增大,对比度得到扩展,使图像特征明显,更加清晰。可表示为:
g(x, y) T[ f (x, y)]
根据变换函数的形式,灰度变换分为线性变换,分段性变换和非线性变换。
3.1.1 线性变换
假定图像 f(x,y)的灰度范围为[a,b],变换后的图像 g(x,y)的灰度范围线性的扩
}
delete pKernel; delete pMean; delete pVal;
return TRUE; }
void Filter2(float *pRes,WORD *pData, int iWid, int iHgh, float *pKernel, int iKWid, int iKHgh) { float ftemp=0; for ( int j = 0 ; j < iHgh ; j ++ ) {
Biblioteka Baidu
(c / a) f (x, y)
0 f (x, y) a
g 3.1.3
(非x, 线y) 性 变[[((Md换g
c) /(b a)][ f (x, d ) /(M f b)][
y f
) (
x,
a] y)
c b]
a d
f
(x, y) b b f (x, y)
d,增强了图像中绝大多数像素的灰度层次感。
原始图像
变换结果
3.1.2 分段线性变换
为了突出感兴趣目标所在的灰度区间,相对抑制那些不感兴趣的灰度区间,
可采用分段线性变换。设原图像f(x,y)在[0,Mf],感兴趣目标的灰度范围在[a,b],
欲使其灰度范围拉伸到[c,d],则对应的分段线性变换表达式为:
M
f
当用某些非线性函数如对数函数、指数函数等,作为映射函数时,可实现图
像灰度的非线性变换。 ⑴对数变换 对数变换的一般表达式为
g (i, j ) a ln f (i, j ) 1
b ln c
这里a,b,c是为了调整曲线的位置和形状而引入的参数。当希望对图像的低 灰度区较大的拉伸而对高灰度区压缩时,可采用这种变换,它能使图像灰度分布 与人的视觉特性相匹配。
2.图像增强概述
2.1 图像增强的基本定义
图像增强是数字图像处理的基本内容之一。图像增强是指按特定的需要突出 一幅图像中的某些信息,同时,削弱或去除某些不需要的信息的处理方法,同时 也是提高图像质量的过程。
图像增强的目的是为了某种应用目的去改善图像质量,处理的结果使图像的 某些特性方面更加鲜明、突出,使处理的结果更适合于人的视觉特性或机器识别 分析,以便于实现对图像的更高级处理和分析。
为了改善图像质量,可以对灰度分布进行变换改变,其中一种方法称为直方图均衡化处 理。直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。假定变换函数为
r
s T ( r ) Pr ( ) d
0
式中ω是积分变量,而 T(r)就是 r 的累积分布函数。这里,累积分布函数是 r 的函数, 并且单调地从 0 增加到 1,所以这个变换函数满足 T(r)在 0≤r≤1 内单值单调增加。可以证明,
float *pMean=new float[iSize]; float *pVal =new float[iSize]; for ( i = 0 ; i < iSize ; i ++ ) { pMean[i] = (float)(pData[i]*pData[i]);} Filter2(pVal,pMean,iWid,iHgh,pKernel,ihoodW,ihoodH); Filter2(pMean,pData,iWid,iHgh,pKernel,ihoodW,ihoodH); for ( i = 0 ; i < iSize ; i ++ ) { pVal[i] = pVal[i]-(pMean[i]*pMean[i]);}
图像增强算法
摘要:本文简要介绍图像增强的概念和图像增强算法的分类,说明了图像增强技术的应用和 前景展望。并简要的介绍了灰度变换和直方图均衡化处理方法。结合实际,重点对维纳滤波 的代码和去噪效果进行了研究。
关键词:图像增强;灰度变化;直方图均衡化;维纳滤波;代码
1.概述
1.1 研究的目的和意义
近年来,随着电子计算机技术的进步,计算机图像处理得到了飞跃的发展, 己经成功的应用于几乎所有与成像有关的领域,并正发挥着相当重要的作用。它 利用计算机对数字图像进行系列操作,从而获得某种预期的结果。
因此,对图像增强技术和方法进行研究对国计民生有着十分重要的作用。本 文拟通过对部分图像增强方法的研究,起到巩固书本知识,拓展个人解决问题的 能力。
2.1 本文的框架结构
本文一共分为五章,第一章是概述,对全文内容进行一次提纲性的概括,起 到总领的作用。第二章是图像增强概述。第三章是图像增强算法。第四章是维纳 滤波代码的研究。
图像增强处理并不能增加原始图像的信息,而只能增强对某种信息的辨识能 力,使处理后的图像对某些特定的应用比原来的图像更加有效。
2.2 图像增强方法
图像增强方法从增强的作用域出发可分为空间域增强和频率域增强两种。常 见的图像增强方法有:对比度增强法、直方图均衡化、平滑噪声和锐化等。
2.3 图像增强的历史和应用
近年来,随着计算机信息技术的不断发展,图像增强技术得到了长足的发展, 广泛地应用到了诸如军事、地质、海洋、森林、医学、微生物和刑侦等领域,发 挥着重要的作用,对国计民生的作用不可低估。
图像增强处理始于 20 世纪 60 年代,由美国加州理工学院的喷气推进实验室, 对徘徊者 7 号太空飞船发回的月球照片进行处理,标志着图像处理技术得到了实 际的应用。目前,21 世纪的图像增强处理技术已向高质量化方面发展,实现了 图像的实时处理,采用的数字全息技术使图像包含最为完整和丰富的信息,实现 图像的智能生产、处理、理解和识别。
int iSize = iWid*iHgh; float *pKernel=new float[ihoodW*ihoodH]; for ( int i = 0 ; i < ihoodW*ihoodH ; i ++ ) { pKernel[i] = (float)1/(ihoodW*ihoodH);}
(2)指数变换 指数变换的一般表达式为 g(i, j) bc f (i, j)a 1
这里参数a,b,c用来调整曲线的位置和形状。这种变换能对图像的高灰度区 给予较大的拉伸。
3.2 直方图均衡化
直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的 新图像的方法。直方图均衡化算法是图像增强空域法中的最常用、最重要的算法 之一。它以概率理论作基础, 运用灰度点运算来实现直方图的变换, 从而达到图 像增强的目的。这些方法是不以图像保真为原则的, 它们是通过增强处理设法有 选择地突出某些对人或机器分析感兴趣地信息, 抑制一些无用信息, 以提高图 像地使有价值。在实际应用中, 应针对不同的图像应采用不同的图像增强方法, 或同时采用几种适当的增强算法进行实验, 从中选出视觉效果较好的、计算不复 杂的、又合乎应用要求的一种算法。 3.2.1 直方图均衡化的原理
相关文档
最新文档