vc++6.0在灰度数字图像增强处理中的应用资料

上传人:w****i 文档编号:102986714 上传时间:2019-10-05 格式:PDF 页数:3 大小:273.13KB
返回 下载 相关 举报
vc++6.0在灰度数字图像增强处理中的应用资料_第1页
第1页 / 共3页
vc++6.0在灰度数字图像增强处理中的应用资料_第2页
第2页 / 共3页
vc++6.0在灰度数字图像增强处理中的应用资料_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《vc++6.0在灰度数字图像增强处理中的应用资料》由会员分享,可在线阅读,更多相关《vc++6.0在灰度数字图像增强处理中的应用资料(3页珍藏版)》请在金锄头文库上搜索。

1、经验与交流 计算机与信息技术 75 VC+6.0 在灰度数字图像增强处理中的应用 刘洋 1 卫洪春1 杜诚2 ( 1西南交通大学信息科学与技术学院,四川,成都 610031) ( 2西南民族大学电信学院,四川,成都 610041) 摘 要 该文介绍了用直方图均衡化对灰度图像进行灰度映射,从而达到使图像增强的目的。利用VC+6.0执行效率 高,可继承、封装、移植等成熟的软件技术,对直方图均衡化算法进行实现。实验表明,该程序可以快速、准确地对灰度图 像进行灰度变换,达到了使图像对比度增强,改善图像质量的预期目的。 关键字 Visual C+;图像增强;直方图均衡;DIB 文件 由于噪声、光照等外界

2、环境或设备本身的原因,通常我 们所获取的原始数字图像质量不是很高,因此在对图像进行 边缘检测、图像分割等操作之前,一般都需要对原始数字图 像进行增强处理。图像增强主要有两方面应用,一方面是改 善图像的视觉效果,另一方面也能提高边缘检测或图像分割 的质量,突出图像的特征,便于计算机更有效地对图像进行 识别和分析。 图像增强是图像处理最关键的研究问题之一,图像增强 按作用域可分为两类,即空域处理和频域处理。空域处理是 直接对图像进行处理,而频域处理则是在图像的某个变化域 内,对图像的变换系数进行运算,然后通过逆变换获得图像 增强效果。本文主要对空域增强法中的直方图均衡进行分析 并用VC + 6.0

3、进行算法实现。当前图像处理在算法实现中主 要应用Matlab 仿真工具,但Matlab运行效率较低,且可移植 性和实用性均不太理想。与Java和C#等其他高级语言相比, VC+在程序运行效率、内存使用的可控性和编程的灵活性上 均具有较大的优势,因此本文采用VC + 6.0 集成开发环境, 以达到算法快速有效地执行,同时增强了算法的可移植性。 1 灰度图像直方图均衡化的描述 1.1 灰度图像直方图处理方法 图像的直方图是图像处理中一种十分重要且实用的工 具,它概括了一副图像的灰度级内容。从数学上来说图像直 方图是图像各灰度值统计特性与图像灰度值的函数,它统计 一幅图像中各个灰度级出现的次数或概率

4、。实际上,灰度图 像直方图是一个离散函数: pf(fk)=nk/n k=0,1,L-1 其中fk为图像f(x,y)的第k级灰度,nk是图像f(x,y)中具有 灰度值fk的象素个数,n是图像象素总数,L是图像的灰度级 数。因为pf(fk)给出了对各个fk出现概率的一个统计,所以直 方图提供了图像的灰度值分布情况。 在灰度直方图坐标系中, 横坐标表示图像中各个像素点的灰度级,纵坐标为各个灰度 级上图像各个像素点出现的次数或概率。在对灰度数字图像 的增强处理方法中, 灰度均衡化和灰度规定化应用较为广泛, 但后者需要根据具体的图像人为规定好适当的期望直方图才 能得到满意的效果,如果期望直方图规定不当则

5、处理效果会 很差,因此后者的通用性不好。而前者在处理时只需要将当 前的灰度分布重新均衡地分布于整个灰度区间即可,虽然对 于某一幅特定的图象处理效果可能不及灰度规定化,但通用 性却要好的多,对任意图象均可获得相当不错的处理效果。 1.2 灰度图像直方图均衡化算法分析 直方图均衡化的基本思想是把原始图的直方图变换为均 匀分布的形式,这样就增加了象素灰度值的动态范围从而可 达到增强图像整体对比度的效果。设原始图像在(x,y)处 的灰度为f,而改变后的图像为g,则对图像增强的方法可表 述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化 处理中对图像的映射函数可定义为:g = EQ (f),这个映

6、射 函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0fL-1范围内是一个单值单增函数。这是 为了保证增强处理没有打乱原始图像的灰度排列次序,原图 各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0fL-1有0gL-1,这个条件保证了变换前后 灰度值动态范围的一致性。 累计分布函数(cumulative distribution function, CDF) 即可以满足上述两个条件,并且通过该函数可以完成将原图 像 f 的分布转换成 g 的均匀分布。此时的直方图均衡化映射 函数为: gk = EQ(fk) = (ni/n) = pf(fi) , (

7、k=0,1,2,L-1) 上述求和区间为到 k,根据该方程可以由源图像的各 76 计算机与信息技术 经验与交流 像素灰度值直接得到直方图均衡化后各像素的灰度值。在实 际处理变换时, 一般先对原始图像的灰度情况进行统计分析, 并计算出原始直方图分布,然后根据计算出的累计直方图分 布求出 fk到 gk的灰度映射关系。在重复上述步骤得到源图像 所有灰度级到目标图像灰度级的映射关系后,按照这个映射 关系对源图像各点像素进行灰度转换,即可完成对源图的直 方图均衡化。 2 算法的实现 利用VC+实现的灰度图像均衡化处理的流程如下: 根据上述的算法描述,要实现灰度图像的直方图均衡化 必须首先统计原图像的各级

8、灰度值,在程序中定义了一个数 组 lDegreeCount256来统计原图像的各级灰度值,然后对 得到的灰度值做灰度映射,将映射后的结果存到一个新的灰 度映射关系数组 bMaptable256中,根据这个数组就可以确 定出源图象的某个灰度级经过变换后对应于哪个新的灰度 级,最后将变换后的结果保存到 DIB 中。经过这样的处理后, 就可把源图像中密集分布的灰度值映射到经过均衡化后的新 灰度级上,增加了对比度,改善了视觉效果。 实现直方图均衡化的函数主要代码如下: BOOL WINAPI Equalize(LPSTR lpDIBs, LONG lWidth, LONG lHeight) unsig

9、ned char* lpSource; / 指向源图像的指针 LONG lTmp; / 临时变量 LONG t,s; / 循环变量 BYTE bMaptable256; / 灰度映射表 LONG lDegreeCount256; / 灰度计数表 LONG lLineBytes; / 图像每行的字节数 lLineBytes = WIDTHBYTES(lWidth * 8); / 计算 图像每行的字节数 / 重置计数为0 for (t = 0; t 256; t +) lDegreeCounti = 0; for (t = 0;t lHeight; t +) for (s = 0; s lWidt

10、h; s+)/ /计算各个灰度 值的计数 lpSource = (unsigned char *)lpDIBs + lLineBytes * t + s; lDegreeCount*(lpSource)+; / 该灰度值的计数加1 for (t = 0; t 256; t+)/ 计算灰度映射表 lTmp = 0; / 初始为0 for (s = 0; sj = t ; s+) lTmp += lDegreeCounts; bMaptablet = (BYTE) (lTmp * 255 / lHeight / lWidth);/ 计算灰度值新的映射表 for(t = 0; t lHeight;

11、t+)/ 每行 for(s = 0; s lWidth; s+)/ 每列 / 指向DIB第i行,第j个象素的指针 lpSource = (unsigned char*)lpDIBs + lLineBytes * (lHeight - 1 - t) + s; *lpSource = bMaptable*lpSource; / 根据映射表计算新的灰度值 return TRUE; 在程序中把打开图像、初始化 DIB 对象并获取指向 DIB 对象 的指针、获取 DIB 对象的宽度和高度等操作放到视图类中, 并 将 指 向 图 像 DIB 象 素 的 指 针 lpDIBs 、 图 像 的 高 DIBWi

12、dth(lpDIB)、宽 DIBHeight(lpDIB)作为参数传递给 Equalize()函数,这种方法能使程序的封装性和可移植性 更好,体现了面向对象编程技术的优越性。 3 实验结果 原始Lena图像与均衡化后的Lena图像的直方图和图像效 果对比如下(图1-图4)。 图中可以看出,原始Lena图像的灰度主要分布在中高灰 度级上,在低灰度级上图像的像素数几乎为零。经过直方图 均衡化处理后图像变的清晰了,处理后的LENA图像直方图分 布更均匀,在每个灰度级上都有像素点。 4 结论 本文给出了一种用VC +6.0实现灰度数字图像增强处理 算法的应用程序,并给出了最终对比实验结果。由于图像处

13、理需要处理大量的图像数据,经常使用复杂、费时的算法, 下转第79页 打开一副灰度图像 缓冲区载入 DIB 对象 统计原图像的灰度值 初始化 DIB 对象 创建内存缓冲区 生成新的图像 原灰度映射到新灰度 经验与交流 计算机与信息技术 79 屏蔽线。 (3)在提高敏感器件抗干扰性能方面:对于 IC 的闲置 端在不改变芯片逻辑功能的情况下接地或者接电源,IC 器件 尽可能直接焊在板子上;布线时电源线和地线要尽量粗;用 地线把数字区和模拟区隔离,数字地和模拟地要分离,最后 在一点接于电源地。 6 结束语 该系统与国外进口检测系统相比, 具有友好的操作界面, 实现自动化操作,软硬件更新容易,体积小,重

14、量轻,无需 传感器和频率计、电阻箱等外接设备,便于野外操作使用, 成本低廉, 性能可靠, 极大提高了部队保障能力。 系统于 2003 年 12 月通过中国测试技术研究院检测,性能优异,完全符合 技术要求,2004 年 7 月通过专家鉴定,获军队科技进步三等 奖。 参考文献 1王仲生,陈 东 智能检测与控制技术M. 西安:西北 工业大学出版社,2004. 2 AT89 系列单片机技术手册M.北京:北京威立姆电 子技术有限公司,1996. 3周宗才.飞机推进系统控制M.中国人民解放军空 军装备部,1997. 4刘君华,现代检测技术与测试系统设计M.西安:西 安交通大学出版社,2001. 5何立民,

15、MCS-51 系列单片机应用系统设计系统配置 与接口技术M.北京:北京航空航天大学出版社,1990 收稿日期:5 月 10 日 修改日期:5 月 22 日 作者简介:丁伟(1982- ) :男,空军工程大学硕士研究 生,主要从事航空检测技术研究。 上接第76页 因此图像处理程序的效率非常重要。较之Matlab、Java、C# 等其他语言来说,VC+为图像处理的相关操作提供了很大的 方便,易于硬件实现,提高了运行效率。由于VC + 具有的 这些明显优势,采用VC + 开发平台实现数字图像处理是未 来的一个趋势。 图 1 原始 Lena 图像 图 2 均衡化后的 Lena 图像 图 3 原始图像的直方图 图 4 均衡化后的直方图 参考文献 1 潘爱民译.David J Kruglinski.Visual C+ 技术内幕 M(第4版), 清华大学出版社, 1999 2 周长发编著.精通Visual C+图像处理编程M(第 二版). 电子工业出版社, 2004 3 章毓晋编著 . 图像处理和分析基础M. 高等教育 出版社,2002 4 陈纯编著.计算机图像处理技术与算法M.清华大学 出版社,2003 5 天村秀行编著,金喜子, 乔双译.计算机图像处理 M .科学出版社,2004

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号