多聚焦图像融合.docx
- 文档编号:16835255
- 上传时间:2023-04-23
- 格式:DOCX
- 页数:52
- 大小:612.57KB
多聚焦图像融合.docx
《多聚焦图像融合.docx》由会员分享,可在线阅读,更多相关《多聚焦图像融合.docx(52页珍藏版)》请在冰豆网上搜索。
多聚焦图像融合
目录
第一章引言1
第二章图像融合简介及3
常用的融合方法3
2.1图像融合简介3
2.2国内外研究现状4
本章小结6
第三章开发平台VisualC++7
3.1框架和文档—视结构7
3.2消息映射7
3.3VisualC++可视化编程8
3.4VisualC++的优点9
本章小结9
第四章设备无关位图(DIB)10
4.1DIB的数据组织10
4.2操作DIB12
4.3显示位图13
本章小结13
第五章加权平均法14
5.1算法简介14
5.2算法实现14
5.3融合结果15
本章小结16
第六章Top-hat算子实现图像融合17
6.1Top-hat算子及其相关知识17
6.2算法介绍22
6.3算法实现23
6.4融合结果26
本章小结28
结论29
致谢30
参考文献31
附录32
摘要
本文概括了多聚焦图像融合的一些基本概念和相关的基本知识,并就加权平均法和形态学top-hat算子对多聚焦图像的融合就行了算法研究和编程实现。
并对这两种方法的实验结果进行了比较分析。
结果发现,加权平均法的融合效果非常一般,而形态学top-hat算子融合方法的融合结果明显优于加权平均法,而且融合效果也比较理想。
可见top-hat算子融合方法具有优越的性能,可以将其应用于多幅卫星图片的合成分析和图像清晰等很多方面,拓宽了top-hat算子的应用范围,增加了其应用价值。
关键字:
图像融合,加权平均法,数学形态学,top-hat算子
Abstract
Thisarticlesummarizessomebasicconceptsandthecorrelatedelementaryknowledgeinmulti-focusingimagefusion,andithasagoodalgorithmresearchandprogrammingrealizationinweightedmeanmethodandmorphologytop-hatoperatortomulti-focusingpicturefusion.Andithascarriedonthecomparativeanalysistothesetwomethods’experimentalresult.Theresultisthattheeffectoffusioninweightedmeanmethodisextremelygeneral,butthefusionresultofthemorphologytop-hatoperatorfusionmethodobviouslysurpassestheweightedmeanmethod.Andthefusioneffectisidealtoo.Obviouslythetop-hatoperatorfusionmethodhasthesuperiorperformance,whichwasallowedtoapplyinmanysatellitespicturesynthesisanalysisandthepictureclearandsoon.Ithasopenedupthetop-hatoperatorapplicationscopeandincreaseditsapplicationvalue.
Keyword:
imagefusionweightedmeanmethodmorphologytop-hat
第一章引言
按数据融合的处理体系,数据融合可分为:
信号级融合、像素级融合、特征级融合和符号级融合。
图像融合是数据融合的一个重要分支,它在遥感图像处理、目标识别、医学、现代航天航空、机器人视觉等方面具有广阔的应用前景。
图像融合的目的是综合同一场景的多个图像信息,其结果是更适合人的视觉和计算机视觉的一幅图像,或更适合进一步图像的处理,如计算机辅助目标检测、目标识别等。
对图像融合来说,融合源图像可能是在同一时间段,来自多个传感器的图像;也可能是单个传感器在不同时间提供的图像序列,也就是说可以是多个传感器同时提供的多幅图像,还可能是同一传感器在某个时间段提供的图像序列。
充分利用多幅图像资源,通过对观测信息合理支配和使用,把多幅图像在空间或时间上的互补信息依据某种准则融合,获得对场景的一致性解释或描述,使融合后的图像具有比参加融合的任意一幅图像更优越的性质。
近几年来,图像融合已成为图像分析和计算机视觉重要的技术。
图像融合基本上是在信号级、像素级、特征级和符号级上进行融合的。
信号级融合在很大程度上是信号的最优检测问题;像素级图像融合是对原始图像融合形成一幅新的图像,可以使人更容易识别潜在目标。
这种方法是一种低层次的融合,保留了尽可能多的信息,精度比较高;特征级融合是对从原始图像中抽取的一些特征进行融合,然后在一张总的特征图上合并这些特征,在特征级上融合的图像可以更好的检测目标。
像素级图像融合以其可利用信息多,而受到国内外研究者的普遍重视,提出了多种像素级图像融合方法,大致可分为:
逻辑滤波器法、加权平均法、数学形态法、图像代数法、模拟退火法、金字塔图像融合法、小波变换图像融合法等。
在这些算法中,前五种属于空间域图像融合算法。
逻辑滤波器法是最直观的融合算法,它是两个像素的值进行逻辑运算;加权平均法则是源图像之间的对应像素进行加权平均;数学形态法是一种图像分析的方法,通过使用从基本算子:
集合并、集合交、减、条件加推演出来的一套数学形态算子,如膨胀、腐蚀等;图像代数法是描述图像算法的高级代数语言,完全可以描述多种像素级的融合算法。
它的四种基本图像代数操作数:
坐标集、值域、图像和模板;模拟退火法是以张弛为基础的最优化技术。
用于图像处理时,相当于把像素值以驻留的领域视为物理系统中的原子或分子的状态。
将能量函数分配给物理系统,并确定其Gibbs分布。
因为Gibbs分布与马尔可夫随机场等价,所以如果图像可以表示为马尔可夫随机场,能量函数就决定了图像模型。
能量函数的温度降低,将物理系统退火到全局能量最小状态,则对应于加有噪声的初始图像对真实图像的最大后验估计。
模拟退火算法用来进行像素级融合,就是找到可恰当地描述对最终的融合图像约束能量函数。
后两种算法属于变换域图像融合法。
金字塔图像融合法就是将参加融合的每幅源图像作金字塔表示,将所有图像的金字塔表示在各相应层上以一定的融合规则融合,可得到合成的金字塔。
将合成的金字塔,用金字塔生成的逆过程重构图像,则可得到融合图像。
小波变换图像融合法是通过小波将图像分解成一系列具有不同分辨率、频率特性和方向特性的子带图像。
将各源图像做小波变换(分解),按一定规则将各源图像的小波系数融合,得到融合图像的小波表示,做小波逆变换(重构),得到融合图像。
图像融合技术虽已经过多年研究,但还没有统一的定义,成熟的理论和方法,还没有建立起统一的图像融合数学模型。
第二章图像融合简介及
常用的融合方法
2.1图像融合简介
2.1.1图像融合定义及主要应用领域
图像融合是以图像为研究对象的数据融合,是指在同一时间,将同一景物的不同波段或来自不同传感器的两个或两个以上的图像进行处理,形成一幅合成图像,以获取更多的关于目标信息的图像处理过程。
多聚焦图像的融合是指将两幅或多幅焦距不同的图像进行合成,滤除两幅或多幅图像中的模糊部分,保留它们的清晰部分,以达到更好的观察和分析图像。
图像融合技术在现代航空航天、自动控制、遥感遥测、医学,特别是军事指挥领域中正发挥越来越重要的作用。
图像融在各领域的具体应用有:
军事应用方面:
主要有反伪装、目标的定位、识别、检测等。
在资源应用方面:
对土地利用状况的监测、植被覆盖的统、环境调查与监测、洪涝灾害的预测与评估等。
地质方面:
地质结构分析,岩性识别与分类等。
另外,在航空导航、医学、摄影等许多方面,图像融合技术有广泛的应用。
2.1.2图像融合的优点
图像融合的优点如图2.1所示。
图2.1
1)通过冗余信息提高可靠性;
2)通过互补信息提高信息容量。
2.1.3配准
图像融合主要通过两步处理,第一步是使这些图像信息的坐标系达到空间位置的一致(配准),第二步将已配准的这些图像信息融合成一个新的图像模态显示出来(融合)。
因此配准和融合占据着同样重要的地位。
配准可以通过手动配准、半自动配准和全自动配准等方法。
由于时间有限,这里所用的图像都是已配准的图像,这样我们可以把精力主要集中在图像融合的方法研究上。
2.1.4图像融合的意义
由于一个场景的多个物体的焦距可能不同,这样我们通过一次拍摄,很有可能只能聚焦在一个物体或某几个物体上,而其它物体或背景就可能比较模糊。
这样通过一幅图像就很难对一个场景达到全面和深入地了解。
如果我们能够通过多次拍摄而获得多个焦距不同的图像,并且把这些图像合并成一幅图像,保留每一幅图像清晰的部分,去除模糊的部分,就能达到对图像很好的研究。
多聚焦图像的融合正好满足了这一点,他的结果就是要保留图像的清晰部分,去除模糊部分。
本文主要是对有两个不同焦距物体的场景的两幅图像进行了研究。
它与其它更复杂的图像在研究方法上并没有什么区别,仅仅在他们的参数和处理效果上有一定出入,因此完全可以将这里所用的算法应用于其它图像融合处理中。
多聚焦图像的融合在图像清晰,卫星图片的合成分析,图像增强等领域具有广泛的应用,具有显著的实际意义。
2.2国内外研究现状
图像融合的一般方法如下图所示:
图2.2图像融合一般清形
图像融合基本上是在信号级、像素级、特征级和符号级上进行融合的。
信号级的融合在很大程度上是信号的最优检测问题。
像素级的图像融合是对原始图像融合形成一幅新的图像,可以使人更容易识别潜在目标。
像素级的图像融合方法是一种低层次的融合,保留了尽可能多的信息,精度比较高。
特征级融合是对从原始图像中抽取的一些特征进行融合,然后在一张总的特征图上合并这些特征,在特征级上融合的图像可以更好地检测目标。
像素级的图像融合以其可利用信息多而受到人们的重视。
本文简略归纳了主要的几种像素级的图像融合方法,并就其中的加权平均法和数学形态学法进行了编程实现,同时对几种方法的实现结果进行了比较分析。
素级图像融合方法可分为:
逻辑滤波器法、加权平均法、数学形态法、图像代数法、模拟退火法、金字塔图像融合法、小波变换图像融合法等。
下面分别简略介绍其中几种像素级图像融合方法。
2.2.1逻辑滤波器法
最直观的融合方法是两个像素的值进行逻辑运算,如:
两个像素的值均大于特定的门限值,进行“与”运算。
来自“与”运算的特征认为对应了环境的主要方面。
同样,“或”滤波用来分割图像,因为所有的大于特定的门限值传感器信息都可用来进行图像分割。
两个像素的值均小于特定的门限值时,用“或非”运算。
2.2.2加权平均法
简单的图像融合的方法是源图像之间的对应的每个像素加权平均:
Lj=∑i=1nAjiGji(2.1)
∑i=1nAji=1(2.2)
式中:
Lj为融合图像的第j个像素灰度值,Gji为参加融合的第i幅图像第j个像素灰度值,Aji为参加融合的第i幅图像第j个像素的权值。
2.2.3数学形态法
数学形态法是一种图像分析的方法,它通过使用从基本算子:
集合并、集合交、减、条件加推演出来的一套数学形态算子,如膨胀、腐蚀等算法。
若两个集合互相支持,则通过集合交从两个特征集中提取出高置信度的“核”特征集,若两个集合互相对抗,则通过集合差从两个特征集中提取出高置信度的“核”特征集。
两个集合互相支持,则通过集合并从两个特征集中提取出高置信度的“潜在”特征集,若两个集合互相对抗,则通过一个集对另一个集中提取出高置信度的“潜在”特征集。
用条件膨胀和条件腐蚀的形态运算来融合“核”与“潜在”特征集。
条件膨胀用来提取“潜在”特征集的连接分量,可用来抑制杂波;条件腐蚀可用来填入在“核”特征集中丢失的分量边界元素。
2.2.4图像代数法
图像代数是描述图像算法的高级代数语言,完全可以描述多种像素级的融合算法。
它的四种基本的图像代数操作数:
坐标集、值域、图像和模板。
坐标集,可定义为矩形、六角形、环形离散矩阵及多层矩阵数组,用来表示不同方格和分辨率图像的相干关系。
若来自多传感器的用于像素级融合的图像有相同的基本坐标系,则坐标集称为齐次的;否则称为非齐次的。
“值域”通常对应整数集、实数集、复数集、固定长度的二进制数集,通常对其定义算术和逻辑运算。
若一个值集的所有值都来自同一数集,则称为齐次的,否则称为非齐次的。
“图像”是最重要的图像代数算子,定义为从坐标集到值集函数的图。
“模板”和模板算子是图像代数强有力的工具,它将模板、掩膜、窗口、数学形态的构成元素、定义在邻域像素上的其他函数,统一、概括成数学实体。
用于变换实值图像的三种基本的模板操作是:
广义卷积、乘积最大、和最大。
模板操作可通过在全局和局部卷积来改变维数、大小和图像形状。
2.2.5模拟退火法
模拟退火法是以张驰为基础的最优化技术。
用于图像处理时,相当于把像素值以驻留的领域视为物理系统中的原子或分子的状态。
将能量函数分配给物理系统并确定其Gibbs分布。
因为Gibbs分布与马尔可夫随机场等价,所以如果图像可以表示为马尔可夫随机场,则能量函数就决定了图像模型。
能量函数的温度降低,将物理系统退火到全局能量最小状态,则对应于加有噪声的初始图像对真实图像的最大后验估计。
模拟退火法用来进行像素级的融合,就是找到可恰当地描述对最终的融合图像约束能量函数。
本章小结
本章对图像融合的基本概念和常用方法进行了总体上的概括和介绍。
并给出了图像融合的意义和应用范围。
图像融合的方法虽然很多,但还没有哪一种方法比较成熟,还有待于进一步发展。
第三章开发平台VisualC++
VisualC++是Microsoft公司推出的开发Win32环境程序,面向对象的可是化集成编程系统。
它具有程序框架自动生成,灵活方便的类管理,代码编写和界面设计集成交互操作,可开发多种程序等优点,已成为开发Win32程序的主要开发工具。
它提供了MFC类库,一般性的工作可以全部交给VisualC++来完成,用户只要在其基础上做出自己想要实现的功能即可。
3.1框架和文档—视结构
所谓框架(Framework),就是应用程序所应具备的软件模块按一定的结构组成的集合。
MFC框架的基本结构包括应用程序对象,主框窗口,文档,视等。
框架通过命令和消息将它们结合在一起,共同对用户的操作做出反应。
应用程序对象是由CwinApp派生的应用程序类对象,一个应用程序有且仅有一个应用程序对象,它负责应用程序实例的初始化和进程结束时的资源清除,以及创建和管理应用程序所支持的所有文档模板。
文档类由CDocument类派生而来,文档类对象由框架生成的File菜单中的New或Open命令创建,制订了应用程序数据的实际读写操作。
文档有应用程序对象创建和维护的文档模板(DocumentTemplate)所创建。
视类从Cview或其子类派生而来,是显示和观察文档数据的窗口类,视类定义了用户以什么方式见到文档的数据,以及如何与其进行交互,一个文档数据可能有多个视。
3.2消息映射
MFC应用程序框架设置了响应的消息处理函数来响应消息,已完成相应的操作。
消息处理函数是某些类的成员函数,程序员在其中编写响应消息时应进行操作的代码。
框架将消息和它们的处理函数连接起来就是消息映射。
消息映射使应用程序在接收到消息时调用对应的消息处理函数来响应和处理消息。
文档和视图之间的关系如图3.1所示:
应用程序对象(CWinApp)
框架窗口
传递给窗口
和视图对象的
文档对象
(CDodument)
视图对象
(Cview)
消息
文档和视图对象之间
的双向信息流
图3.1文档和视图的结构关系
3.3VisualC++可视化编程
通过ClassWizard把视的用户资源接口
增加成员数据、函数,实现其接口
把资源文件映射成函数模板
实现视类
实现文档类
根据需要创建新类和编写代码
编写、修改函数代码
连接界面和代码
设计用户界面
生成框架
编辑资源文件,如菜单,工具栏等
第二章
建立、调试修改程序
测试程序
结束
图3.2VisualC++可视化编程的流程
VisualC++的资源编辑器能以所见即所得的形式直接编辑程序用户界面,为所有资源分配ID标识号。
ClassWizard能把对话框模板与生成类定义或与已有类代码连接起来,为菜单项、控制等资源生成空的处理程序模板,创建消息映射条目,并将资源ID与处理函数连接起来。
用VisualC++进行可视化编程的基本流程如图3.2所示。
3.4VisualC++的优点
面向对象程序设计语言将程序描述的事物看成一个整体,称为对象。
它是包含数据和代码的完全独立的实体。
类就是具有相同的属性的所有对象的逻辑原型,是对象的规则和设计。
同一类的对象具有相同的性质和方法,每一个具体的对象都是类的一个实体,创建对象就是把类实例化。
封装性是指面向对象程序设计语言将数据和处理数据的方法组合在类中,并具有模块化和信息隐藏的特征。
封装性能防止类与外部的非法交互和访问,避免外界对对象内部的状态的错误改变,确保类这一模块真正独立,以保证程序的安全运行。
多态性是指不同的类或对象对外界传入的相同信息根据自身的性质做出不同的反应,通过不同的类或对象都可设计自身处理外界信息传入的方法以实现多态性。
继承性是指一个类可以派生出新的类,新类能继承原类定义的性质和方法,还能在原类定义的性质和方法之外加入自身定义的性质和方法。
通过继承性能形成类之间的层次结构,从而实现了代码的重复利用。
本章小结
VisualC++是课题编程的主要工具,故这里先对VisualC++进行了总体性的介绍,总结了一般性的程序流程。
第四章设备无关位图(DIB)
4.1DIB的数据组织
在Windows系统中,那些以BMP为扩展名的文件都是设备无关位图(DIB)文件。
可以将照片通过扫描仪扫描成DIB格式的位图图像。
供本人使用或朋友欣赏。
因而DIB是能够复制和传播的,并且可以为不同的系统所使用。
保存于磁盘中的DIB文件由4个部分所组成:
位图文件头、位图信息头、颜色表项和位图图像数据。
管理位图文件头、位图信息头、颜色表项的3个结构分别为BITMAPFILEHEADER,BITMAPINFOHEADER和RGBQUAD,其中BITMAPINFOHEADER和RGBQUAD结构又通过BITMAPINFO来组合。
下图展示了DIB文件的数据组织。
图4.1DIB的数据组织
BITMAPFILEHEADER结构的定义如下:
TypedefstructtagBITMAPFILEHEADER{
WORDbfType;
DWORDbfSize;
WORDbfReserved1;
WORDbfReserved2;
DWORDbfOffBits;
}BITMAPFILEHEADER;
其中,bfType说明文件为一个位图文件,表示位图文件的ASCII码为BM,其16进制表示为0xD42。
bfSize表示以字节为单位的文件大小。
bfReserved1和bfReserved2一般不采用,其值均为0。
bfOffBits表示从位图文件头开始至位图位数据段的字节数,即字节偏移量。
BITMAPINFOHEADER结构的定义如下
TypedefstucttagBITMAPINFOHEADER{
DWORDbiSize;
DWORDbiWidth;
DWORDbiHeight;
WORDbiPlanes;
WORDbiBitCount;
DWORDbiCompression;
DWORDbiSizeImage;
DWORDbiXPelsPerMeTer;
DWORDbiYPelsPerMeTer;
DWORDbiClrUsed;
DWORDbiClrImportant;
}BITMAPINFOHEADER;
其中,biSize表示该结构的大小为sizeof(BITMAPINFOHEADER)。
biWidth表示以像素为单位的位图宽度。
biHeight表示以像素为单位的位图高度。
biPlanes表示目标设备的位平面数,置为1。
biBitCount表示位图的每个像素的位数,可能为1,4,8和24。
biCompression表示位图的被压缩类型。
若位图未被压缩,则该值为0;若为1,则表示采用RLE(RunLengthEncoded)8压缩;若为2,则表示采用RLE4压缩。
biSizeImage表示被压缩位图的字节数。
注意,BMP一般是不经压缩的。
biXPelsPerMeTer表示目标设备的水平分辨率。
biYPelsPerMeTer表示目标设备的垂直分辨率。
biClrUsed表示位图实际使用的颜色数。
biClrImportant指定对于显示该位图比较重要的颜色索引的个数,若该值为0,则所有的颜色都是重要的。
RGBQUAD结构的定义如下:
TypedefstructtagRGBQUAD{
BYTErgbBLUE;
BYTErgbGREEN;
BYTErgbRED;
BYTErgbReserved;
}RGBQUAD;
其中,rgbBLUE表示蓝色分量。
RgbGREEN表示绿色分量。
RgbRED表示红色分量。
RgbReserved的值为0。
BITMAPINFO结构把BITMAPINFOHEADER结构和一张颜色表结合在一起,其定义如下:
TypedefstructtagBITMAPINFO{
BITMAPINFOHEADERbmiHeader;
RGBQUADbmiColors[1];
}BITMAPINFO;
事实上,只有1,4和8位位图才有颜色表项。
24位位图没有颜色表项,位图头信息之后紧跟位数据。
4.2操作DIB
下面列出了对DIB位图的常用操作:
∙装载位图
∙获取位图文件BITMAPFILEHEADER信息
∙获取BITMAPINFO位图BITMAPINFO信息
∙获取颜色表项RGBQUAD信息
∙获取位图数据信息
∙获取位图尺寸
∙获取颜色总数
∙获取颜色位数
∙创建位图调色盘
∙绘制位图
∙将图像像素数据格式进行转换
4.3显示位图
显示DIB可用CDC:
:
BitBlt或CDC:
:
StretchBlt函数实现,也可用SetDIBitsToDevice或StretchDIBits函数实现。
因本次设计主要用到SetDIBitsToDevice函数,在此只介绍这个函数。
intSetDIBitsToDevice(
HDChdc,//显示设备上下文句柄;
intXDest,//目的区左上角x坐标;
intYDest,//目的区左上角y坐标;
DWORDdwWidth,//目的矩形宽度;
DWORDdwHeight,//目的矩形高度;
in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 聚焦 图像 融合