欢迎来到天天文库
浏览记录
ID:6119511
大小:67.50 KB
页数:5页
时间:2018-01-03
《vc++6.0在灰度数字图像增强处理中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VC++6.0在灰度数字图像增强处理中的应用2008-07-1221:45用直方图均衡化对灰度图像进行灰度映射,可以达到使图像增强的目的。VC++6.0执行效率高,可继承、封装、移植,对直方图均衡化算法进行实现。 由于噪声、光照等外界环境或设备本身的原因,通常我们所获取的原始数字图像质量不是很高,因此在对图像进行边缘检测、图像分割等操作之前,一般都需要对原始数字图像进行增强处理。图像增强主要有两方面应用,一方面是改善图像的视觉效果,另一方面也能提高边缘检测或图像分割的质量,突出图像的特征,便于计算机更有效地对图像进行识别和分析。 图像增强是
2、图像处理最关键的研究问题之一,图像增强按作用域可分为两类,即空域处理和频域处理。空域处理是直接对图像进行处理,而频域处理则是在图像的某个变化域内,对图像的变换系数进行运算,然后通过逆变换获得图像增强效果。频域处理技术较难,涉及较多的数学知识和建模方法,所以先主要对空域增强法中的直方图均衡进行分析并用VC++6.0进行算法实现。当前图像处理在算法实现中主要应用Matlab仿真工具,但Matlab运行效率较低,且可移植性和实用性均不太理想。与Java和C#等其他高级语言相比,VC++在程序运行效率、内存使用的可控性和编程的灵活性上均具有绝对的优势,
3、因此我采用VC++6.0集成开发环境。 灰度图像直方图均衡化的描述 1、灰度图像直方图处理方法 图像的直方图是图像处理中一种十分重要且实用的工具,它概括了一副图像的灰度级内容。从数学上来说图像直方图是图像各灰度值统计特性与图像灰度值的函数,它统计一幅图像中各个灰度级出现的次数或概率。实际上,灰度图像直方图是一个离散函数: pf(fk)=nk/nk=0,1,…,L-1 其中fk为图像f(x,y)的第k级灰度,nk是图像f(x,y)中具有灰度值fk的象素个数,n是图像象素总数,L是图像的灰度级数。因为pf(fk)给出了对各个f
4、k出现概率的一个统计,所以直方图提供了图像的灰度值分布情况。在灰度直方图坐标系中,横坐标表示图像中各个像素点的灰度级,纵坐标为各个灰度级上图像各个像素点出现的次数或概率。在对灰度数字图像的增强处理方法中,灰度均衡化和灰度规定化应用较为广泛,但后者需要根据具体的图像人为规定好适当的期望直方图才能得到满意的效果,如果期望直方图规定不当则处理效果会很差,因此后者的通用性不好。而前者在处理时只需要将当前的灰度分布重新均衡地分布于整个灰度区间即可,虽然对于某一幅特定的图象处理效果可能不及灰度规定化,但通用性却要好的多,对任意图象均可获得相当不错的处理效果
5、。 2、灰度图像直方图均衡化算法分析 直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:g=EQ(f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变
6、换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。 累计分布函数(cumulativedistributionfunction,CDF)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为: gk=EQ(fk)=(ni/n)=pf(fi), (k=0,1,2,……,L-1) 上述求和区间为0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先
7、对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出fk到gk的灰度映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对源图像各点像素进行灰度转换,即可完成对源图的直方图均衡化。算法的实现 利用VC++实现的灰度图像均衡化处理的流程如下: 根据上述的算法描述,要实现灰度图像的直方图均衡化必须首先统计原图像的各级灰度值,在程序中定义了一个数组lDegreeCount[256]来统计原图像的各级灰度值,然后对得到的灰度值做灰度映射,将映射后的结果存到一个新的灰度
8、映射关系数组bMaptable[256]中,根据这个数组就可以确定出源图象的某个灰度级经过变换后对应于哪个新的灰度级,最后将变换后的结果保存到DIB中
此文档下载收益归作者所有