基于Matlab的图像融合研究设计.docx
- 文档编号:1073137
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:35
- 大小:316.92KB
基于Matlab的图像融合研究设计.docx
《基于Matlab的图像融合研究设计.docx》由会员分享,可在线阅读,更多相关《基于Matlab的图像融合研究设计.docx(35页珍藏版)》请在冰豆网上搜索。
基于Matlab的图像融合研究设计
基于Matlab的图像融合研究设计
Keywords:
ImagefusionWaveletschangeMatlab
1、绪论
1.1课题开发背景
1.1.1图像融合的定义
数字图像融合(DigitalImageFusion)是以图像为主要研究内容的数据融合技术,是把多个不同模式的图像传感器获得的同一场景的多幅图像或同一传感器在不同时刻获得的同一场景的多幅图像合成为一幅图像的过程。
由于不同模式的图像传感器的成像机理不同,工作电磁波的波长不同,所以不同图像传感器获得的同一场景的多幅图像之间具有信息的冗余性和互补性,经图像融合技术得到的合成图像则可以更全面、更精确地描述所研究的对象。
正是由于这一特点,图像融合技术现已广泛地应用于军事、遥感、计算机视觉、医学图像处理等领域中。
数字图像融合是图像分析的一项重要技术,该技术在数字地图拼接、全景图、虚拟现实等领域有着重要应用。
虽然Photoshop等图像处现软件提供了图像处理功能,可以通过拖放的方式进行图像拼接,但由于完全是手工操作,单调乏味,且精度不高,因此,有必要寻找一种方便可行的图像融合方法。
Matlab具有强大的计算功能和丰富的工具箱函数,例如图像处理和小波工具箱包含了大多数经典算法,并且它提供了一个非常方便快捷的算法研究平台,可让用户把精力集中在算法上而不是编程上,从而能大大提高研究效率。
1.1.2手动配准与图象融合
图像融合包含图像配准和无缝合成两个部分.由于成像时受到各种变形因素的影响,得到的各幅图像间存在着相对的几何差异。
图像配准是通过数学模拟来对图像间存在着的几何差异进行校正,把相邻两幅图像合成到同一坐标系下,并使得相同景物在不同的局部图像中对应起来,以便于图像无缝合成。
本文采用Matlab中的cpselect、cp2tform函数完成几何配准。
cpselect函数显示图像界面,手动在两幅图像的重叠部分选取配准控制点,Matlab自动进行亚像素分析,由cp2tform函数值正重叠部分的几何差异。
Matlab中的cp2tform函数能修正6种变形,分别是图(b):
线性相似;图(c):
仿射;图(d):
投影;图(e):
多顶式;图(o:
分段线性;图(g):
局部加权平均。
前4种为全局变换,后两种为局部变换,如图I所示,图(a)为修正结果;图(b)至图(g)为对应的变形。
图1-1cp2tform函数能修正的6种几何变形
图像配准之后,由于图像重叠区域之间差异的存在,如果将图像象素简单叠加,拼按处就会出现明显的拼接缝,因此需要一种技术修正待拼接图像拼接缝附近的颜色值,使之平滑过渡,实现无缝合成。
传统的融合方法多是在时间域对图像进行算术运算,没有考虑处理图像时其相应频率域的变化。
从数学上讲,拼接缝的消除相当于图像颜色或灰度曲面的光滑连接,但实际上图像的拼接与曲面的光滑不同,图像颜色或灰度曲面的光滑表现为对图像的模糊化,从而导致图像模糊不清。
1.1.3图象融合研究的发展现状和研究热点
在众多的图像融合技术中,基于小波变换的图像融合方法已成为现今研究的一个热点。
这类算法主要是利用人眼对局部对比度的变化比较敏感这一事实,根据一定的融合规则,在多幅原图像中选择出最显著的特征,例如边缘、线段等,并将这些特征保留在最终的合成图像中。
在一幅图像的小波变换中,绝对值较大的小波系数对应于边缘这些较为显著的特征,所以大部分基于小波变换的图像融合算法主要研究如何选择合成图像中的小波系数,也就是三个方向上的高频系数,从而达到保留图像边缘的目的。
虽然小波系数(高频系数)的选择对于保留图像的边缘等特征具有非常主要的作用,但尺度系数(低频系数)决定了图像的轮廓,正确地选择尺度系数对提高合成图像的视觉效果具有举足轻重的作用。
本文给出了一种基于小波变换的图像融合算法,在考虑小波系数选择规则的前提下,还重点研究了尺度系数的选择方案。
小波系数的选择基于绝对值最大的原则,并对选择方案的一致性进行了验证。
所谓的一致性指的是对于空间某像素点,其小波系数的选择方案应和其邻近点一致。
本文设计了三种选择尺度系数的方案,并从理论上和仿真结果上对这三种方案进行了比较,选择出一种最好的方案。
本文给出的算法可用于两幅图像或多幅图像的融合,从仿真结果可看出,这个算法较好地保持了图像的边缘,具有较好的视觉效果。
1.2课题设计要求
题目:
几种图像融合算法的Matlab程序设计
初始条件:
1、提供实验室机房及其matlab软件;
2、提供两张同一景物不同效果的图片;
3、数字图像处理的基本理论学习。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):
(1)掌握图像融合的基本原理;
(2)熟练掌握matlab软件,并利用matlab设计一程序完成以下功能;
(3)通过对图像融合原理的认识,进行实现图像融合的程序设计;
(4)用两张灰度图片进行该程序的检验,记录其结果,并对产生的结果进行比较分析;
(5)独立完成课程设计说明书。
2、MATLAB程序设计
2.1MATLAB软件简介
MATLAB的名称源自MatrixLaboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。
目前MATLAB产品族可以用来进行:
数值分析
数值和符号计算
工程与科学绘图
控制系统的设计与方针
数字图像处理
数字信号处理
通讯系统设计与仿真
财务与金融工程
表2-1MATLAB产品族
MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。
MATLABCompiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件COM组件等等。
这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言例如C/C++语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。
利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。
这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。
目前MATLAB产品的工具箱有四十多个,分别涵盖了数据获取、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。
图2-1MATLAB的框图设计环境
Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。
Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。
Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。
Stateflow与Simulink和MATLAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。
在MATLAB产品族中,自动化的代码生成工具主要有Real-TimeWorkshop(RTW)和StateflowCoder,这两种代码生成工具可以直接将Simulink的模型框图和Stateflow的状态图转换成高效优化的程序代码。
利用RTW生成的代码简洁、可靠、易读。
目前RTW支持生成标准的C语言代码,并且具备了生成其他语言代码的能力。
整个代码的生成、编译以及相应的目标下载过程都是自动完成的,用户需要做得仅仅使用鼠标点击几个按钮即可。
MathWorks公司针对不同的实时或非实时操作系统平台,开发了相应的目标选项,配合不同的软硬件系统,可以完成快速控制原型(RapidControlPrototype)开发、硬件在回路的实时仿真(Hardware-in-Loop)、产品代码生成等工作。
另外,MATLAB开放性的可扩充体系允许用户开发自定义的系统目标,利用Real-TimeWorkshopEmbeddedCoder能够直接将Simulink的模型转变成效率优化的产品级代码。
代码不仅可以是浮点的,还可以是定点的。
图2-2MATLAB系统开发体系
MATLAB开放的产品体系使MATLAB成为了诸多领域的开发首选软件,并且,MATLAB还具有300余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。
接口方式包括了联合建模、数据共享、开发流程衔接等等。
2.2MATLAB软件窗口环境
计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。
MATLAB语句形式
》变量=表达式;
通过等于符号将表达式的值赋予变量。
当键入回车键时,该语句被执行。
语句执行之后,窗口自动显示出语句执行的结果。
如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。
此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。
变量和数值显示格式:
(1)变量
●变量的命名:
变量的名字必须以字母开头(不能超过19个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。
●一些特殊的变量
ans:
用于结果的缺省变量名i、j:
虚数单位
pi:
圆周率nargin:
函数的输入变量个数
eps:
计算机的最小数nargout:
函数的输出变量个数
inf:
无穷大realmin:
最小正实数
realmax:
最大正实数nan:
不定量
flops:
浮点运算数
●变量操作
在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。
如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:
》a
(2)数值显示格式
任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。
format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。
2.3M语言编程
MATLAB是美国MathWorks公司开发的用于教育、工程与科学计算的软件产品,它向用户提供从概念设计、算法开发、建模仿真到实时实现的理想集成环境。
无论是进行科学研究、产品开发,还是从事教育事业,MATLAB产品都是非常有效的工具。
相对于其他类似于MATLAB的仿真软件,MATLAB的一个显著特点就是它提供了一种用于编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 图像 融合 研究 设计