欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    基于MFC的图片浏览器的设计与实现.doc

    • 资源ID:101175       资源大小:537.50KB        全文页数:54页
    • 资源格式: DOC        下载积分:5积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于MFC的图片浏览器的设计与实现.doc

    第1章绪论图像处理源自于二战中的摄影侦察。当时,处理操作是通过光学方法来完成的,判读工作则是由专门精于此道并能确定炸弹袭击结果的人员来做。随着20世纪60年代后期卫星图像的出现,更多基于计算机的工作便开展起来。彩色合成的卫星图像,有时的确漂亮的让人吃惊,它们已经成为人类视觉文化和对我们这个行星进行认知的一个组成部分。1980年1月科学美国人发表了一幅被称之为“Plume2”的著名图像,它是1979年3月5日通过宇宙飞船旅行者1号在木星的卫星上探测到的8次火山爆发中的第二次。这幅图像在星际探险图像中是一个里程碑,人们第一次在宇宙中看到了正在爆发的火山。它也是图像处理领域的一次伟大胜利。卫星图像以及宇宙探测器所获取的图像直到近年来才大量应用图像处理技术。在这些技术中,对计算机图像进行数字化处理以得到想要获得的效果,比如使图像的某一部分或某一特性更加明显。正如计算机图形学一样,直到近几年,图像处理仍然局限在一些实验室里使用,只有这些地方才能提供昂贵的图像处理计算机来满足处理大量高分辨率图像的需要。随着价格低廉的高性能计算机和诸如数码相机及扫描仪这样的图像采集设备的出现,我们已经看到图像处理技术在向公众领域转移。经典的图像处理技术很平常地被图像设计人员用来处理图片和生成图像,比如修复图片的缺陷、改变色彩、对比度等,或者通过图像边缘增强这样的处理来改变整个图片的外观。目前图像处理的主流应用是图像的压缩,即通过互联网进行传递或在可视电话和视频会议中进行动态视频图像的压缩。可视电话是当今结合计算机图像和传统图像处理的技术,以期产生很高压缩比的交叉领域之一。所有这一切都是图像的“数字表达”这一不可抗拒的发展趋势的组成部分。事实上,20世纪最强大、应用最广泛的图像形式电视图像,也将不可避免的融入数字领域。数字图像及其处理技术之所以发展的如此迅速并获得广泛的应用,与其自身的优点是息息相关的。1.再现性好数字图像处理与模拟图像处理的根本不同在于,它不会因图像的存储、传输或复制等一系列变换操作而导致图像质量的退化。只要图像在数字化时准确地表现了原稿,则数字图像处理过程始终能保持图像的再现。2.处理精度高按目前的技术,几乎可将一幅模拟图像数字化为任意大小的二维数组,这主要取决于图像数字化设备的能力。现代扫描仪可以把每个像素的灰度等级量化为16位甚至更高,这意味着图像的数字化精度可以达到满足任一应用需求。对计算机而言,不论数组大小,也不论每个像素的位数多少,其处理程序几乎是一样的。换言之,从原理上讲不论图像的精度有多高,处理总是能实现的,只要在处理时改变程序中的数组参数就可以了。回想一下图像的模拟处理,为了要把处理精度提高一个数量级,就要大幅度地改进处理装置,这在经济上是极不合算的。3.适用面宽图像可以来自于多种信息源,它们可以是可见光图像,也可以是不可见的波谱图像(例如X射线图像、射线图像、超声波图像或红外图像等)。从图像反映的客观实体尺度看,可以小到电子显微镜图像,大到航空照片、遥感图像甚至天文望远镜图像。这些来自不同信息源的图像只要被变换为数字编码形式后,均是用二维数组表示的灰度图像(彩色图像也是由灰度图像组合成的,例如RGB图像由红、绿、蓝三个灰度图像组合而成),因而均可用计算机来处理。即只要针对不同的图像信息源,采取相应的图像信息采集措施,图像的数字处理方法可适用于任何一种图像。4.灵活性高图像处理大体上可分为图像的像质改善、图像分析和图像重建三大部分,每一部分均包含丰富的内容。由于图像的光学处理从原理上讲只能进行线性运算,这极大地限制了光学图像处理能实现的目标。而数字图像处理不仅能完成线性运算,而且能实现非线性处理,即凡是可以用数学公式或逻辑关系来表达的一切运算均可用数字图像处理实现。鉴于数字图像自身的特点,对其进行处理也不是一步就能完成的过程。可将它分成诸多步骤,必须一个接一个地执行这些步骤,直到提取出有用的数据。而这些步骤中,数据的存储、表示又占有相当重要的地位,可以说,这是图像处理中最基本的技术。因此,掌握不同格式图像的编码解码、读写、显示等方法是必不可少的。为什么会需要如此众多不同类型的图像文件格式呢?简单的回答就是因为有太多不同类型的图像以及众多不同需求的应用。完整一些的回答还要考虑到市场份额、所有权以及在图像工业中缺乏的必要协调。但是,已经有一些标准的文件格式被开发出来。许多其他图像类型可以通过图像转换软件很容易地转换成这些文件格式,如本设计最终开发出的软件就可以将图像在BMP、PCX、TGA、GIF及JPEG之间互相转换。与计算机图像相关的一个领域就是计算机图形学。计算机图形学是计算机科学的一个特殊领域,它指的是通过计算机对可视数据进行再现,这包括为显示或打印生成计算机图像,以及为输出到监视器、打印机、照相机或其他能提供图像的设备上生成和处理的任何图像(真实的或人造的)。可以认为计算机图形学是计算机图像技术的一部分,图形设计师所使用的许多工具也正在被计算机图像专业人士所采用。在计算机图形学中,图像数据的类型被分为两个主要种类:矢量和位图。矢量图像是指仅通过存储关键点来表达线条、曲线和形体的方法。这些关键点足以对形体进行定义,而将它变成图像的过程称之为渲染。当图像被渲染之后,它可以被认为是位图格式,其中每一个像素都具有与之相关的特定值。位图图像(也称之为光栅图像)可由图像模型I(r,c)来表示,其中包含像素数据以及某些文件格式存储的相应的亮度值。尽管有些文件被压缩,但仍属于位图图像的范畴,通常这些类型的图像包含头信息和原始图像数据。文件头必须包含的信息为:(1)行数(高);(2)列数(宽);(3)每像素位数;(4)文件类型。此外,对于某些复杂的文件格式,文件头还必须包含有关所使用的压缩类型的信息,以及创建图像所需要的其他必要的参数。本设计所讨论和处理的图像均为位图图像。第2章软件开发平台及编程模式在系统的设计与开发中,软件开发平台及编程模式是关键,下面介绍一下开发平台的选择、MicrosoftVisualC+及编程模式。2.1开发平台的选择在Windows环境下,目前比较流行的可视化开发工具主要有:VisualC+、VisualBasic、C+Builder、Delphi、PowerBuilder及JBuilder等。而本软件采用MicrosoftVisualC+6.0作为开发工具,并使用MFCApplicationFramework作为本软件的基本架构。采用C+来进行图像编程的主要原因是,与Java和C#等现代编程语言相比,C+在程序运行的效率、内存使用的可控性和编程的灵活性上具有优势。图像处理需要处理大量的图像数据,经常使用复杂、费时的算法,因此图像处理程序的效率非常重要。C+代码被编译成汇编语言,可以直接在处理器上运行,效率很高。而Java被编译成字节码,C#被编译成中间语言,都是不能在处理器上执行的,必须经过Java虚拟机或.NET通用语言运行时的JIT编译之后才能执行,因此效率较低。故从运行效率的角度看,采用C+进行图像编程比较合适。对庞大的图像数据进行处理时需要使用大量的内存,而计算机的物理内存容量往往是有限的,因此需要有效地控制内存的使用。C+直接控制内存的分配和释放,这虽繁琐,且加大了编程的负担,但却能有效地控制内存的使用。Java和C#引进了垃圾收集机制,将开发人员从内存管理的繁杂任务中解放出来,不再需要直接控制内存的分配和释放。但是,无效内存的收集和释放只能周期性地进行,难以达到有效地使用内存。同样的运算,使用Java和C#所需的内存比使用C+所需的内存要多,即内存的使用率较低。所以,从内存的使用效率来看,采用C+进行图像处理编程更合适。C+中大量使用指针,使得编程的灵活性很高,这虽然增加了程序出错的可能性,但是便于程序员施展编程技巧来提高程序的效率。Java完全取消了指针,C#极大地限制了指针的使用,这都限制了程序员施展技巧。因此,使用C+进行图像处理编程具有更大的灵活性。而在以C+为核心语言的可视化编程工具中,MicrosoftVisualC+6.0以其自身许多优异的特性而获得了最为广泛的应用。鉴于以上原因,本设计使用MicrosoftVisualC+6.0作为软件的开发平台。2.2MicrosoftVisualC+及编程模式简介1.VisualC+可视化编程VisualC+的资源编辑器能以所见即所得(Whatyouseeiswhatyouget)的形式直接编辑程序的用户界面,为所有资源分配ID标识号。ClassWizard能把对话框模板与生成的类定义或与已有的类代码连接起来,为菜单项、控制等资源生成空的处理函数模板,创建消息映射条目,并将资源ID与处理函数连接起来。通过使用AppWizard,程序员的编程工作便简化为用资源编辑器直观的设计界面,完善对话框类代码,在空的处理函数模板处填写响应用户操作的代码,这是一种比较完善的可视化编程方法。但产品名“VisualC+”也容易误导人,让人认为自己使用的是一个与MicrosoftVisualBasic类似的完全可视化的系统。然而,使用VisualC+,开发人员必须真正地阅读和编写C+代码。VisualC+向导可以节省时间和提高精度,但是,程序员也必须理解向导产生的代码,并且,最重要的是,还必须理解MFC库的结构和Windows操作系统的内部工作方式。2.MFC(MicrosoftFoundationClasses)应用程序框架应用程序框架的一种定义是:提供一般应用程序需要的全部面向对象软件组件的集成集合。C+流行的一个原因是它可以用类库扩充。类库是可在应用程序中使用的有关C+类的集合。应用程序框架是类库的超集。一般的类库只是一种孤立的类的集合,用来嵌入在任何程序中,但是,应用程序框架却定义了程序的结构。自从MFC库发布以来,MFC已经成为主要的Windows类库。使用MFC类库构建应用程序具有以下优点:MFC库是C+的MicrosoftWindowsAPI。应用程序框架生成的应用程序使用了标准的结构,具有标准化的用户接口,这对具有标准用户界面的Win32程序来说,可以极大的减轻程序员的负担,使程序员不必过多地考虑界面,可把主要精力放在程序设计上,以提高程序设计的效率。使用应用程序框架的应用程序不仅小,而且运行速度快,具有很大的灵活性。MFC封装了Win32SDK中的几乎所有函数,能实现Win32系统的任何功能。VisualC+工具降低了编码的复杂性。MFC库应用程序框架有丰富的特性,如:WindowsAPI的C+接口、通用的(非Windows所特有的)类、“共用根对象”类层次结构、流线式多文档界面(MDI)应用程序支持等。强大的功能。除封装了大部分的Win32SDK函数外,MFC还提供了应用程序本身的数据和操作及ActiveX、OLE、Internet、WinSock、DAO(DataAccessObjects)、ODBC(OpenDataBaseConnectivity)等操作类。MFC框架的核心是文档/视图结构(Document-ViewArchitecture),这是一个很好用、但又往往较难以入门的功能。简单的说,文档/视图结构就是将数据和对数据的观察或数据的表现(显示)相分离。文档仅处理数据的实际读、写操作,视图则是显示和处理数据的窗口,视图可以操作文档中的数据。3.Win32编程编写VisualC+程序实际上就是一个构造类和把类实例化的过程。由于Windows95/98/Me/NT/2000是PC平台中应用最广泛的操作系统,而Microsoft力图用一个叫做Win32的标准32位应用程序接口作为对这几个操作系统的共同开发接口,所以经常采用Win32来代表Microsoft的32位Windows操作系统,因此VisualC+主要用于针对Win32的应用程序开发。

    注意事项

    本文(基于MFC的图片浏览器的设计与实现.doc)为本站会员(网****)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!