版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于GDI的图像快速处理刘海砚 安晓亚信息工程大学测绘学院河南省郑州市陇海中路66号0700# 450052Email:liu2000 摘 要:本文利用GDI+在图像处理方面的新特点,说明了基于GDI+的图像基本操作、空间滤波增强、图像的灰度化及伪彩色处理、图像的编码解码、多格式转化等处理方法,为地理信息系统中图像数据的快速处理提供了新方法。关键词:GDI+;图像处理;地理信息系统;1概述地理信息系统中经常应用图像数据,如卫星遥感数据,扫描地图数据等。因此,如何有效、快速地对图像进行加工、改造,使之有利于判读和信息提取是图像处理过程中的
2、一个基本问题。然而,目前从底层开发的图像处理模块或系统都是基于GDI的,对图像的基本操作和处理十分繁琐。GDI是GDI的升级版,是Windows操作系统的子系统,提供了大量的处理矢量图形、图象处理和版式的方法,在GDI的基础上添加许多新特性并对GDI功能进行优化,而且在图像处理方面与GDI相比,GDI+则更具有优势。本文将GDI+应用于图像的基本操作、图像的空间滤波增强、图像的灰度化及伪彩色处理和图像的编码解码和多格式转化等方面,取得了良好的实验效果。从而为更进一步有效地处理图像数据打下良好的基础。2 图像的基本操作2.1图像的打开与显示以位图为例,在GDI中打开一幅图片所需的程序代码多在4行
3、以上。比如显示一幅位图(BMP),需要装入位图、读取位图文件格式头信息、启用设备环境、位传输等等,如果是JPEG,GIF等图像,还需要编写复杂冗长的解码算法,如果要以某种特定的形式显示出来则需要更多的程序代码来实现。而在GDI中则只需一行就能实现图像的打开与显示。这是因为在GDI中没有DIB、DDB这样的概念,更没有BMP文件头、BMP调色板这些数据结构。GDI主要使用两个类来实现图像的管理和维护:Image类和Bitmap类。在Image类的构造函数中,可以直接加载图片供开发者使用。对于图像的显示,GDI主要使用DrawImage函数来完成,该函数有15种重载形式可以使图像显示更加灵活。以下
4、代码用来装载和显示一幅遥感影像:void CGTestView:OnDraw(CDC* pDC)this->RedrawWindow();Graphics graphics(pDC->m_hDC);Image image(L"g2004101009214136.bmp");/装载图像graphics.DrawImage(&image,0,0);/显示图像显示后的图像如图1所示:图1图像的打开与显示2.2使用插补模式控制图像的缩放质量当对图像进行缩放处理时,图像会出现不同程度的模糊。在GDI中采用插补模式来对这种模糊进行处理。插补模式又称为“插值模式”,是
5、指如何计算两个终点之间的中间值。Graphics对像的插补模式影响着GDI对图像缩放的质量。拉伸图像时,原始图像中的每个象素都必须映射为较大图像中的一组象素;收缩图像时,必须将原始图像中成组的象素映射为较小图像中单个的象素。这种映射算法的效果决定缩放后图像的质量。生成优质缩放图像的算法往往需要较长的处理时间。GDI的InterpolationMode(插值模式)枚举列出了在进行图形缩放时,可以采用:双三次插值、双线性插值、高质量插值、高质量双三次插值、高质量双线性插值、低质量插值,最临近插值等方法。图2是分别采用了最临近、双线性、双三次的插值模式后的缩放图:图2不同的插值模式对图像缩放质量的影
6、响2.3图像的简单旋转在GDI中旋转一幅图像,需要大量的三角函数运算。而在GDI中这一功能的实现非常简单,直接使用Bitmap(Image)对象的RotateFlip(旋转图片)函数就可以实现简单的特殊旋转,若要实现一般的旋转,则只需定义一个矩阵对象matrix实现旋转即可,如图3所示:图3图像的旋转3 GDI在空间滤波增强方面的应用在获取图像的过程中,由于多种因素的影响,导致图像质量多少会有些退化。图像增强的目的在于:采用一系列技术改善图像的视觉效果,提高图像的清晰度;将图像转换成一种更适合于人或机器进行分析处理的形式。图像增强主要包括波谱信息增强和空间信息增强。在波谱信息增强中,每一个像元
7、都是一个独立的运算单位,其运算过程和结果一般都与其他像元灰度无关,这种情况一般称之为点运算。空间信息增强则以重点突出图像上某些特征为目的,因此通过像元与周围相邻像元的关系进行运算,也称邻域运算。而空间信息增强又包括空间滤波增强和频域滤波增强。3.1图像平滑图像平滑也叫低通滤波,目的在于消除图像中各种干扰噪声,使图像中高频成分去掉,平滑图像的细节,使其反差降低,保存低频成分,以反映图像上的地形整体概貌。本文主要利用GDI实现了比较简单的均值平滑。均值平滑是将每个像元在以其为中心的区域内取平均值来代替该像元值,以达到平滑的目的。这是GDI在图像处理方面的高级应用。GDI中位图类(Bitmap)提供
8、了两个成员函数GetPixel()和SetPixel(),前者主要是用来获取位图中指定象素的颜色,后者主要是用来设置位图对象中指定象素的颜色。又由于GDI中的Color结构体支持矩阵形式,因此可采用以下方法平滑图像:先定义一个3*3的Color对象,利用函数GetPixel()获取周围9个点的RGB值存入到Color数组中,然后分别求出周围9个点的R、G、B之和将其平均值作为当前点的RGB值,最后利用函数SetPixel()将计算后的RGB值回写到位图。图4是平滑前和平滑后的遥感影像对比图: 图4图像的平滑(左图为平滑前,右图为平滑后)3.2 图像锐化锐化也叫高通滤波,主要是增强图像
9、中的高频成分,突出图像的边缘信息,提高图像细节的反差,所以也叫边缘增强,其结果与平滑相反,主要反映的是局部细节的起伏变化。常见的锐化算子有严格的数学基础,为简单起见,这里采用的算法是将要处理的象素与它左对角线的像素之间的插值乘一个锐化系数,然后再加上原先的象素值就能够得到锐化效果。如图5所示:图5图像的锐化(左图为锐化后,右图为锐化前)另外,由于GDI对阈值(Threshold)的支持,使得可以用阈值进行图像的锐化处理。在GDI中利用ImageAttributes对象的SetThreshold(设置阈值)函数可以设置输出图片时所用的阈值。4 GDI在图像灰度化及伪彩色处理方面的应用在日常的工程
10、应用中,为加快处理速度需要把彩色图像转换成灰度图像。解决这个问题的方法是将每个象素用三个字节表示R、G、B分量的彩色图像转换为每个象素用一个象素表示的灰度图像,灰度化的关键是使色彩的三种颜色分量值都相等,具体方法有最大化法、平均值法、加权平均值法等。在本文中利用位图类(Bitmap)提供的成员函数GetPixel()对一幅图像的每个的RGB值进行访问,利用平均值法对这些象素进行重新计算,灰度处理工作就会变得很简单了。灰度图像转换为彩色图像,技术上称为灰度图像的伪彩色处理。在转换过程中常采用的技术是“灰度级彩色”变换,意思是对灰度图像上的每一个象素点,取得该点的灰度值并送入三个通道,经过实施不同
11、的变换,产生相应的R、G、B的亮度值。本文采用的变换函数是线性分段变换函数。在具体编程的过程中同灰度处理类似,逐一读取灰度图像的每一个像素值,然后根据变换进行伪彩色还原。下图是灰度化和伪彩色处理后的结果: 图6灰度图像及伪彩色处理5 GDI+在图像的编码解码与多格式转换方面的应用图像的编码与解码是数字图像处理中的重要内容。在图像文件中,编码代表对图像文件数据的一种组织形式,它包含数据的压缩、色彩的映射(调色板)之类的概念。而解码则表示软件对图像文件数据的解析方式。不同格式的图像文件对应着不同的编码解码方式。图像的编码解码与多格式转换是GDI精华的一部分,是GDI优于GDI的一个重要体
12、现,尤其是在高效的处理多格式图片方面。在GDI编程中,程序开发人员感到麻烦的是对各种图像文件格式的处理,因为常见的图像文件格式较多,开发人员不可能、也没有精力去应对复杂的文件格式定义,而GDI恰恰支持这些常见的图像格式。GDI提供了对常见图像文件所有编码、解码的支持。可以使用GeiImageEncoders(获得图像编码)和GetImageDecoders(获得图像解码)函数对系统可用的解码器信息进行逐一查询。要将一种格式的文件转换成另一种格式的文件进行保存,只需找出要保存的格式的图像文件的解码器,并在使用Image类的Save函数时,将这个编码器的信息作为Save函数的参数,就能够实现格式的转换。另外,GDI还提供了对JPEG进行不同的压缩质量控制。以上这些工作在GDI中需要大量的工作去实现。下图是将BMP格式的图像保存为JPEG格式的图像,并控制其压缩质量: 图7保存成JPEG文件6 结论实践证明,GDI+对图像的基本操作和处理具有功能强大、操作简单、易于理解、视觉效果良好等优点。鉴于此,完全可以将GDI+应用于地理信息系统中的图像处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质检员个人工作总结模板5篇
- 住宅小区智能化施工合同
- 游乐园保洁员招聘合同
- 抢椅子的教案反思5篇
- 居民社区篮球场翻新工程协议
- 2024年快速离婚协议书:简化流程的离婚协议书
- 花卉种植散水施工协议
- 讲文明讲话稿材料5篇
- 环保项目整改承诺书
- 2024体育赛事组织服务合同
- (完整word版)汉语拼音四线三格(63格)模板
- GB/T 5226.1-2019机械电气安全机械电气设备第1部分:通用技术条件
- GB/T 22880-2008纸和纸板CIE白度的测定,D65/10°(室外日光)
- 10000中国普通人名大全
- 开放式小区物业管理方案(精选8篇)
- 《突发事件应对法》理论考试题库(含答案)
- 国家开放大学酒店管理概论作业1-4答案
- 景观植物设计-3-各类植物的种植设计课件
- 客运驾驶员安全指引课件
- 经理课后答案1-4(仅作参考)
- 创思维与方法思维标准课件
评论
0/150
提交评论