欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VC++的图像融合技术的实现毕业设计论文.docx

    • 资源ID:5446996       资源大小:716.96KB        全文页数:64页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    基于VC++的图像融合技术的实现毕业设计论文.docx

    1、基于VC+的图像融合技术的实现毕业设计论文基于VC+的图像融合技术的实现摘 要近年来,图像融合已成为图像理解和计算机视觉领域中一项重要而有用的新技术。融合图像更符合人和机器的视觉特性,更有利于诸如目标识别、特性提取等进一步的图像处理。图像融合已成为人类社会的很重要的一项技术。 本文将介绍图像融合技术研究的背景,描述了图像融合的基本概念、层次、应用及国内外研究动态。图像预处理、创建融合图像和对融合图像进行质量评价是这次研究的主要内容。图像预处理包括图像的复原和图像的变换,通过预处理提高图片的融合质量。创建融合图像建融合图像是对至少两幅源图像,在空域或频域根据一定的规则加以组合,创建一个全新的图像

    2、;最后就是对融合图像的质量进行评价。图象融合是指将自不同类型传感器获取的同一地区的各图像数据进行空间配准,然后采用一定的算法将配准后的各图像数据中所含的显著信息或互补信息有机地结合起来,产生新的图像数据,并对新数据进行解译。融合后图像对场景的描述比任何单一源图像都更全面、更精确。融合图像更符合人和机器的视觉特性,更有利于诸如目标识别、特性提取等进一步的图像处理。再具体一些。 关键词:C+,链接库,图像处理,图像的配准,图像融合 ABSTRACTIn recent years, image fusion has become the image understanding and compute

    3、r vision fields is an important and useful technique. Fusion images are more suitable for human and machine vision, more conducive to such as target recognition, feature extraction, further image processing. Image fusion has become human society one of the important technology. This paper introduces

    4、 the image fusion technology research background, describes the basic concept of image fusion, the application level, and the domestic and international research trends. Image preprocessing, creating image fusion and quality evaluation of fused image is the main content of the research. Image proces

    5、sing including image restoration and image transform, through pretreatment improves image fusion quality. Create the fusion image fusion image is built on at least two source image in spatial domain and frequency domain, according to certain rules to be combined, create a new image; finally is to th

    6、e fusion image quality assessment.Image fusion refers to the different types of sensors to obtain from the same area of the image data to spatial registration, and then using a certain algorithm will be after the registration of the image data contained in the significant or the complementary inform

    7、ation organically, generating a new image data, and to new data interpretation. After the fusion image description of the scene than any of the individual source images are more comprehensive, more accurate. Fusion images are more suitable for human and machine vision, more conducive to such as targ

    8、et recognition, feature extraction, further image processing.Key Words: C+ library,Image Processing ,Image registration,Image Fusion目录 1.2 MFC概述2.2 图像融合基础 2.2.1位图和调色板的概念 2.2.2 BMP文件格式 2.2.3 BMP文件的读取 3.1.3 融合图像的目的 3.2.2 图像融合分层 3.2.1 融合总流程 3.2.3 图像融合算法3.3 VC环境下融合的C+实现 3.3.1 融合的程序方案方针 3.3.2 VC环境下融合的部分程

    9、序的框架 3.3.3 VC环境下融合的部分程序源代码第4章 图像融合实例应用 5.1 图像融合的现状 5.2 图像融合的展望 前言图像融合是数据融合一个非常重要的分支,是20世纪70年代后期提出的概念,是综合了传感器、图像处理、信号处理、计算机和人工智能的现代高新技术。图像融合把工作于不同波长范围、具有不同成像机理的图像传感器对同一个场景的多个成像信息融合成一个新图像,从而使融合的图像可信度更高,模糊较少,可理解性更好,更适合人的视觉及计算机检测、分类、识别、理解等处理。图像融合的处理通常可在以下三个不同层次上进行:像素级、特征级、决策级。像素级图像融合主要是针对初始图像数据进行的,其目的主要

    10、是图像增强、图像分割和图像分类,从而为人工判读图像或进一步的特征级融合提供更佳的输入信息;特征级图像融合是指从各个传感器图像中提取特征信息,并进行综合分析和处理的过程,提取的特征信息是像素信息的充分表示量或充分统计量,典型的特征信息有边缘、形状、轮廓、角、纹理、相似亮度区域等;决策级图像融合是对来自多幅图像的信息进行逻辑推理或统计推理的过程。国内外在图像融合的不同层次上开展了大量的模型和算法的研究,取得了很多宝贵的研究成果,涌现出大量文献,但由于系统介绍图像融合理论、方法和应用的书籍非常少,使很多刚刚踏入这一研究领域的初学者感到学习起来相当困难,这也不利于图像融合研究和应用的进一步普及和深人发

    11、展。 第1章面向对象技术与MFC概述1.1面向对象技术面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它以数据为中心而不是以功能为中心来描述系统,数据相对于功能而言具有更强的稳定性。它将数据和对数据的操作封装在一起,作为一个整体来处理,采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型类,并且考虑不同类之间的联系和类的重用性。类的集成度越高,就越适合大型应用程序的开发。另一方面,面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际。事件驱动程序的执行围绕消息的产生与处理,靠消息循环机制来实现。在实际编程时可以采用搭积

    12、木的方式来组织程序,站在“巨人”的肩上实现自己的目标。面向对象程序的设计方法使得程序结构清晰、简单,提高了代码的重用性,有效减少了程序的维护量,提高了软件的开发效率。面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。在结构上,面向对象程序与面向过程程序有很大不同。面向对象程序由类的定义和类的使用两部分组成:在主程序中定义各对象并规定他们之间传替消息的规律,程序中的一切操作都通过向对象发送消息来实现;对象接到消息后,启动消息处理函数完成相

    13、应的操作。 面向对象程序设计(Object Oriented Programming,OOP)方法出现之前,程序员用面向过程的方法开发程序。面向过程的方法把密切相关、相互依赖的数据和对数据的操作相互分离这种实质上的依赖与形式上的分离使得大型程序不但难以编写,而且难以调试和修改。1.2 MFC概述MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序

    14、员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。MFC抽象出众多类的共同特性,设计出一些基类作为实现其他类的基础。这些类中,最重要的类是CObject和CCmdTarget。CObject是MFC的根类,绝大多数MFC类是其派生的,包括CCmdTarget。CObject 实现了一些重要的特性,包括动态类信息、

    15、动态创建、对象序列化、对程序调试的支持,等等。所有从CObject派生的类都将具备或者可以具备CObject所拥有的特性。CCmdTarget通过封装一些属性和方法,提供了消息处理的架构。MFC中,任何可以处理消息的类都从CCmdTarget派生。针对每种不同的对象,MFC都设计了一组类对这些对象进行封装,每一组类都有一个基类,从基类派生出众多更具体的类。MFC以“C+”为基础,自然支持虚拟函数和动态约束。但是作为一个编程框架,有一个问题必须解决:如果仅仅通过虚拟函数来支持动态约束,必然导致虚拟函数表过于臃肿,消耗内存,效率低下。于是,MFC建立了消息映射机制,以一种富有效率、便于使用的手段解

    16、决消息处理函数的动态约束问题。这样,通过虚拟函数和消息映射,MFC类提供了丰富的编程接口。程序员继承基类的同时,把自己实现的虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程框架将在适当的时候、适当的地方来调用程序的代码。第2章 Visual C+的简介与图像融合2.1 Visual C+发展2.1.1 Visual C+简介VC+是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c+的一个开发平台.vc+是Windows平台上的C+编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。VC作为一个主流的开发平台一直深受编程

    17、爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说 VC+不是门语言,虽然它和C+之间有密切的关系,如果形象点比喻的话,可以C+看作为一种”工业标准”,而VC+则是某种操作系统平台下的”厂商标准”,而”厂商标准”是在遵循”工业标准”的前提下扩展而来的。从最早期的1.0版本,发展到最新的6.0版本,Visual C+已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。Visual C+集成开发环境(IDE)集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。Visua

    18、l C+软件包中的Developer Studio就是一个集成开发环境,它集成了各种开发工具和VC编译器。程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。IDE中 还提供大量在线帮助信息协助程序员做好开发工作。Developer Studio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如AppWizard和ClassWizard),以及MFC类库, 这些都可以帮助程序员快速而正确地开发出应用程序。一个通过一步步的帮助引导你工作的工具。Developer Studio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是:AppWizard

    19、:用来创建一个Windows程序的基本框架结构。AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后 AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。AppWizard支持三类程序:基于视 图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用AppWizard生成最简单的控制台应用程序(类似 于DOS下用字符输入输出的程序)。ClassWizard:用来定义AppWizard所创建的程序中的类。可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。Cl

    20、assWizard也可以管理包含在对话框中的控件,它可以将MFC对象或者类的成员变量与对话框中的控件联系起来。ActiveX Control Wizard:用于创建一个ActiveX控件的基本框架结构。ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。MFC库库(library)是可以重复使用的源代码和目标代码的集合。MFC(Microsoft Fundamental Casses)是Visual C+开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连 接、进行绘图和打

    21、印等各种通用的应用程序操作。使用MFC库开发应用程序可以减少很多工作量。2.1.2 Visual C+特点Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class

    22、Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C+它大概可以分成三个主要的部分:1 Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于V

    23、C的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它充其量只是Visual C+的一个壳子而已。这一点请切记!2 MFC。从理论上来讲,MFC也不是专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,只要愿意,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是

    24、为MFC而设计的,所以用Visual C+而不用MFC就等于抛弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。3 Platform SDK。这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Vi

    25、sual Studio的基石。2.2图像融合2.2.1位图和调色板的概念 如今Windows(3.x以及95,98,NT)系列已经成为绝大多数用户使用的操作系统,它比DOS成功的一个重要因素是它可视化的漂亮界面。那么Windows是如何显示图象的呢?这就要谈到位图(bitmap普通的显示器屏幕是由许许多多点构成的,我们称之为象素。显示时采用扫描的方法:电子枪每次从左到右扫描一行,为每个象素 着色,然后从上到下这样扫描若干行,就扫过了一屏。为了防止闪烁,每秒要重复上述过程几十次。例如我们常说的屏幕分辨率为640480,刷新频率为 70Hz,意思是说每行要扫描640个象素,一共有480行,每秒重复

    26、扫描屏幕70次。 我们称这种显示器为位映象设备。所谓位映象,就是指一个二维的象素矩阵,而位图就是采用位映象方法显示和存储的图象。有一个长宽各为200个象素,颜色数为16色的彩色图,每一个象素都用R、G、B三个分量表示。因为每个分量有256个级别,要用8位(bit),即一个 字节(byte)来表示,所以每个象素需要用3个字节。整个图象要用2002003,约120k字节,可不是一个小数目呀!如果我们用下面的方法,就 能省的多。因为是一个16色图,也就是说这幅图中最多只有16种颜色,我们可以用一个表:表中的每一行记录一种颜色的R、G、B值。这样当我们表示一个象素的颜色 时,只需要指出该颜色是在第几行

    27、,即该颜色在表中的索引值。举个例子,如果表的第0行为255,0,0(红色),那么当某个象素为红色时,只需要标明0即 可。让我们再来计算一下:16种状态可以用4位(bit)表示,所以一个象素要用半个字节。整个图象要用2002000.5,约20k字节,再加上表占用的字节为316=48字节.整个占用的字节数约为前面的1/6,省很多吧?这张R、G、B的表,就是我们常说的调色板(Palette)。既然用R,G,B的量化值就可以直接记录一张位图的所有像素,那我们需要调色板干什么呢?首先,我们可以计算完全利用(R,G,B)组合来存储一个800600的位图所需要的空间为:8006003 = 1440000(字

    28、节) 1.37M(字节),3是记录每个像素RGB值所用的字节数,这里说的是24位图,RGB值就用来描述一个像素,位图是由像素组成的,因此用一张位图大小乘它的像素数就可以直接描述一张位图,惊人的大!因此,调色板横空出世了,它的功能在于缓解位图文件存储空间(显存或系统内存)过大的问题。在win os中存在三种调色板,硬件调色板,逻辑调色板,系统调色板,winos用调色板管理器机制来管理调色板,调色板存在于一个位图文件中,一个窗体的DC中,或OS中,硬件调色板就是显卡适配器所能实际表达的颜色深度,逻辑调色板就是winos通过调色板管理机制为每个窗体应用程序DC分配的调色板(系统调色板只有一个,而逻辑

    29、调色板可以有多个,它的本质就是一块内存中的区域用于描述当前应用使用到的调色板,我们都知道调色板是一个结构),所以逻辑调色板的用途在于模拟硬件调色板,以使windows作为一个os可以为界面显示,图像显示等应用提供它们各自专用的活动的调色板,当逻辑调色板色深小于或大小硬件调色板时,winos通过调色板管理机制自动让二者谐和,系统调色板就是winos当前正在使用到的调色板,逻辑调色板可以通过调色板管理机制转变为当前系统调色板,但是不管winos的调色板管理机制如何,最终的调色板都要靠硬件调色板来实现。2.2.2 bmp文件格式BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可

    30、以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。文件头主要包含文件的大小、文件类型、图像数据偏离文件头的长度等信息;位图信息头 包含图象的尺寸信息

    31、、图像用几个比特数值来表示一个像素、图像是否压缩、图像所用的颜色数等信息。颜色信息包含图像所用到的颜色表,显示图像时需用到这个 颜色表来生成调色板,但如果图像为真彩色,既图像的每个像素用24个比特来表示,文件中就没有这一块信息,也就不需要操作调色板。文件中的数据块表示图像 的相应的像素值,需要注意的是:图像的像素值在文件中的存放顺序为从左到右,从下到上 ,也就是说,在BMP文件中首先存放的是图像的最后一行像素,最后才 存储图像的第一行像素,但对与同一行的像素,则是按照先左边后右边的的顺序存储的;文件存储图像的每一行像素值时,如 果存储该行像素值所占的字节数为4的倍数,则正常存储,否则,需要在后

    32、端补0,凑足4的倍数。2.2.3 bmp 文件的读取BMP文件的读取与显示系统需要处理对文件的格式的辨别、对文件的组成和结构进行分析等方面,具体包括对以下五个方面进行处理:BMP文件组成, BMP文件头,位图信息头,颜色表,位图数据 。系统的处理功能主要包括在指定的设备环境上显示指定的位图、从指定的位图文件中读取位图信息及数据并显示在客户区上、将客户区显示的图像保存到指定的位图文件中、保存位图文件等。BMP文件的读取与显示系统功能模块层次图,如图2-1所示。在应用程序中加入具体的函数和变量。(1) 在CdipView.h中加入如入变量:public: int m_x; HBITMAP m_Bmp; LPVOID m_ColorList; LPBYTE m_Image; LPBITMAPINFOHEADER m_DibHead; enum allocate None, crtallocate, heapal


    注意事项

    本文(基于VC++的图像融合技术的实现毕业设计论文.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开