基于Matlab的图像融合研究设计

基于Matlab的图像融合研究设计
基于Matlab的图像融合研究设计

目录

摘要 (1)

Abstract (1)

1、绪论 (2)

1.1课题开发背景 (2)

1.1.1 图像融合的定义 (2)

1.1.2 手动配准与图象融合 (2)

1.1.3 图象融合研究的发展现状和研究热点 (3)

1.2课题设计要求 (4)

2、MATLAB程序设计 (5)

2.1 MATLAB软件简介 (5)

2.2 MATLAB软件窗口环境 (7)

2.3 M语言编程 (8)

3、图像融合算法 (9)

3.1 图象融合算法的层次分类 (9)

3.2 图像融合规则 (10)

3.3 图像融合方法 (11)

3.4 图像融合步骤 .............................................................. 错误!未定义书签。

4、各算法程序 ........................................................................... 错误!未定义书签。

4.1 一般方法 ...................................................................... 错误!未定义书签。

4.2 PCA算法程序 ............................................................. 错误!未定义书签。

4.3 金字塔(Pyramid)算法程序 ................................... 错误!未定义书签。

4.4 小波变换(DWT)算法程序 (18)

5、实验结果 ............................................................................... 错误!未定义书签。

6、图像融合的应用 ................................................................... 错误!未定义书签。

7、总结 ....................................................................................... 错误!未定义书签。参考文献 ..................................................................................... 错误!未定义书签。

摘要

数字图像融合是以图像为主要研究内容的数据融合技术,是把多个不同模式的图像传感器获得的同一场景的多幅图像或同一传感器在不同时刻获得的同一场景的多幅图像合成为一幅图像的过程。本文首先介绍了数字图像融合的定义、发展现状和研究热点,接着论述了图像融合的规则、方法和步骤。并给出了三种融合算法程序,即PCA算法、金字塔图像融合算法与基于小波变换的算法程序,在最后论述了图像融合技术在军事、医学图像和遥感测控中的应用。

关键词:图像融合小波变换 Matlab

Abstract

Digital image fusion is the technology of data fusion mainly study the images is the different patterns of images of the same scene sensors to the same number of sensors or images acquired at different times the same scene for a number of synthetic images images process. The first introduced digital image integration definition, the current development and research hot, and then discussed the integration of images of the rules, methods and steps. Three integration algorithms and procedures given that the PCA algorithms, pyramid image integration algorithms and algorithms based on wavelets change procedures discussed in the final image integration technology in the military, medical imaging and remote sensing, monitoring and control applications. Keywords:Image fusion Wavelets change Matlab

1、绪论

1.1课题开发背景

1.1.1 图像融合的定义

数字图像融合(Digital Image Fusion)是以图像为主要研究内容的数据融合技术,是把多个不同模式的图像传感器获得的同一场景的多幅图像或同一传感器在不同时刻获得的同一场景的多幅图像合成为一幅图像的过程。由于不同模式的图像传感器的成像机理不同,工作电磁波的波长不同,所以不同图像传感器获得的同一场景的多幅图像之间具有信息的冗余性和互补性,经图像融合技术得到的合成图像则可以更全面、更精确地描述所研究的对象。正是由于这一特点,图像融合技术现已广泛地应用于军事、遥感、计算机视觉、医学图像处理等领域中。

数字图像融合是图像分析的一项重要技术,该技术在数字地图拼接、全景图、虚拟现实等领域有着重要应用。虽然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-1 cp2tform函数能修正的6种几何变形

图像配准之后,由于图像重叠区域之间差异的存在,如果将图像象素简单叠加,拼按处就会出现明显的拼接缝,因此需要一种技术修正待拼接图像拼接缝附近的颜色值,使之平滑过渡,实现无缝合成。传统的融合方法多是在时间域对图像进行算术运算,没有考虑处理图像时其相应频率域的变化。从数学上讲,拼接缝的消除相当于图像颜色或灰度曲面的光滑连接,但实际上图像的拼接与曲面的光滑不同,图像颜色或灰度曲面的光滑表现为对图像的模糊化,从而导致图像模糊不清。

1.1.3 图象融合研究的发展现状和研究热点

在众多的图像融合技术中,基于小波变换的图像融合方法已成为现今研究的一个热点。这类算法主要是利用人眼对局部对比度的变化比较敏感这一事实,根据一定的融合规则,在多幅原图像中选择出最显著的特征,例如边缘、线段等,并将这些特征保留在最终的合成图像中。在一幅图像的小波变换中,绝对值较大的小波系数对应于边缘这些较为显著的特征,所以大部分基于小波变换的图像融合算法主要研究如何选择合成图像中的小波系数,也就是三个方向上的高频系数,从而达到保留图像边缘的目的。虽然小波系数(高频系数)的选择对于保留图像的边缘等特征具有非常主要的作用,但尺度系数(低频系数)决定了图像的轮廓,正确地选择尺度系数对提高合成图像的视觉效果具有举足轻重的作用。

本文给出了一种基于小波变换的图像融合算法,在考虑小波系数选择规则的前提下,还重点研究了尺度系数的选择方案。小波系数的选择基于绝对值最大的原则,并对选择方案的一致性进行了验证。所谓的一致性指的是对于空间某像素点,其小波系数的选择方案应和其邻近点一致。本文设计了三种选择尺度系数的方案,并从理论上和仿真结果上对这三种方案进行了比较,选择出一种最好的方案。本文给出的算法可用于两幅图像或多幅图像的融合,从仿真结果可看出,这个算法较好地保持了图像的边缘,具有较好的视觉效果。

1.2课题设计要求

题目:几种图像融合算法的Matlab程序设计

初始条件:

1、提供实验室机房及其matlab软件;

2、提供两张同一景物不同效果的图片;

3、数字图像处理的基本理论学习。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):

(1)掌握图像融合的基本原理;

(2)熟练掌握matlab软件,并利用matlab设计一程序完成以下功能;

(3)通过对图像融合原理的认识,进行实现图像融合的程序设计;

(4)用两张灰度图片进行该程序的检验,记录其结果,并对产生的结果进行比较分析;

(5)独立完成课程设计说明书。

2、MATLAB程序设计

2.1 MATLAB软件简介

MATLAB 的名称源自Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB 产品的开放式结构,可以非常容易地对MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB 产品以提高产品自身的竞争能力。

目前MATLAB 产品族可以用来进行:

?数值分析

?数值和符号计算

?工程与科学绘图

?控制系统的设计与方针

?数字图像处理

?数字信号处理

?通讯系统设计与仿真

?财务与金融工程

表2-1 MATLAB产品族

MATLAB 是MATLAB 产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB 集成了2D 和3D 图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言—— M 语言,利用M 语言可以通过编写脚本或者函数文件实现用户自己的算法。

MATLAB Compiler 是一种编译工具,它能够将那些利用MATLAB 提供的编程语言—— M 语言编写的函数文件编译生成为函数库、可执行文件COM 组件等等。这样就可以扩展MATLAB 功能,使MATLAB 能够同其他高级编程语言例如C/C++ 语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。

利用M 语言还开发了相应的MATLAB 专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB 产品的工具箱有四十多个,分别涵盖了数据获取、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。

图2-1 MATLAB的框图设计环境

Simulink 是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink 提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink 还提供了丰富的功能块以及不同的专业模块集合,利用Simulink 几乎可以做到不书写一行代码完成整个动态系统的建模工作。

Stateflow 是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow 与Simulink 和MATLAB 紧密集成,可以将Stateflow 创建的复杂控制逻辑有效地结合到Simulink 的模型中。

在MATLAB 产品族中,自动化的代码生成工具主要有Real-Time Workshop (RTW )和Stateflow Coder ,这两种代码生成工具可以直接将Simulink 的模型框图和Stateflow 的状态图转换成高效优化的程序代码。利用RTW 生成的代码简洁、可靠、易读。目前RTW 支持生成标准的C 语言代码,

并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都是自动完成的,用户需要做得仅仅使用鼠标点击几个按钮即可。MathWorks 公司针对不同的实时或非实时操作系统平台,开发了相应的目标选项,配合不同的软硬件系统,可以完成快速控制原型(Rapid Control Prototype )开发、硬件在回路的实时仿真(Hardware-in-Loop )、产品代码生成等工作。

另外,MATLAB 开放性的可扩充体系允许用户开发自定义的系统目标,利用Real-Time Workshop Embedded Coder 能够直接将Simulink 的模型转变成效率优化的产品级代码。代码不仅可以是浮点的,还可以是定点的。

图2-2 MATLAB系统开发体系

MATLAB 开放的产品体系使MATLAB 成为了诸多领域的开发首选软件,并且,MATLAB 还具有300 余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据共享、开发流程衔接等等。

2.2 MATLAB软件窗口环境

计算机安装好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.3 M语言编程

MA TLAB是美国MathWorks公司开发的用于教育、工程与科学计算的软件产品,它向用户提供从概念设计、算法开发、建模仿真到实时实现的理想集成环境。无论是进行科学研究、产品开发,还是从事教育事业,MA TLAB产品都是非

常有效的工具。相对于其他类似于MA TLAB的仿真软件,MATLAB的一个显著特点就是它提供了一种用于编程的高级语言——M语言。通过这种语言,用户可以用类似于数学公式的方式来编写算法,大大降低了编程所需的难度并节省了时间,从而让用户把主要的精力集中在算法的构思而不是编程上。

在MATLAB中,在给变量赋值之前,不需要定义它的类型。例如对变量var1赋值1000,并没有事先定义var1的数据类型。MATLAB会自动决定变量的类型,并为它分配内存空间。对上述变量var1,MATLAB将它默认定义为双精度浮点型,分配8个字节的存储空间。M语言中的变量名(包括函数名)是以英文字母开头的英文字母、下划线和阿拉伯数字的组合,有效长度不超过31。

M语言支持类似于数学公式的编程。例如,C=A+B就可完成矩阵A和矩阵B的相加运算,并把结果存储在C中。MATLAB中所有的变量都没有维数的限制(维数自动扩展),并且是以数组(array)的方式存储。但在数学意义上,基本上可以把所有的变量都当作矩阵来理解,尤其是对数值变量(对于结构数组,元胞数组最好不要当作矩阵来理解)。例如在C=A+B中,变量A和B都是以2×2维数组的方式存储的(存储方式为按列存储,而C/C++中的数组变量是按行存储的,这个区别需要注意),在数学意义上可将A和B当作两个2×2维的矩阵,C=A+B完成的便是两个矩阵的相加运算。同样的,[U,S,V]=svd(A)实现对矩阵A的奇异值分解。在MATLAB中所有变量的维数都可自动扩展,但始终保持它的矩形结构。

3、图像融合算法

3.1 图象融合算法的层次分类

图像融合系统的算法按层次结构划分可分为信号级、像素级、特征级和决策级。

信号级融合:是指合成一组传感器信号,目的是提供与原始信号形式相同但品质更高的信号。

像素级图像融合:是指直接对图像中像素点进行信息综合处理的过程像素级图像融合的日的是生成一幅包含更多信息、更清晰的图像像素级图像融合属于较

低层次的融合,目前,大部分研究集中在该层次上。像素层图像融合一般要求原始图像在空间上精确配准,如果图像具有小同分辨率,在融合前需作映射处理。

特征级图像融合:是指从各个传感器图像中提取特征信息,并将其进行综合分析和处理的过程。提取的特征信息应是像素信息的充分表示量或充分统计量,典型的特征信息有边缘、形状、轮廓、角、纹理、相似亮度区域、相似景深区域等在进行融合处理时,所关心的主要特征信息的具体形式和内容与多传感器图像融合的应用目的/场合密切相关。通过特征级图像融合可以在原始图像中挖掘相关特征信息、增加特征信息的可信度、排除虚假特征、建立新的复合特征等。特征级图像融合是中间层次上的融合,为决策级融合做准备。特征级融合对传感器对准要求不如信号级和像素级要求严格,因此图像传感器可分布于不同平台上。特征级融合的优点在于可观的信息压缩,便于实时处理。由于所提出的特征直接与决策分析有关,因而融合结果能最大限度地给出决策分析所需要的特征信息。目前大多数C4I系统的数据融合研究都是在该层次上展开的。

决策级图像融合:是指对每个图像的特征信息进行分类、识别等处理,形成相应的结果后,进行进一步的融合过程最终的决策结果是全局最优决策。决策级融合是一种更高层次的信息融合,其结果将为各种控制或决策提供依据。为此,决策级融合必须结合具体的应用及需求特点,有选择地利用特征级融合所抽取或测量的有关目标的各类特征信息,才能实现决策级融合的目的,其结果将直接影响最后的决策水平。由于输入为各种特征信息,而结果为决策描述,因此决策级融合数据量最小,抗干扰能力强。决策级融合的主要优点可概括为:①通信及传输要求低,这是由其数据量少决定的;②容错性高对于一个或若十个传感器的数据干扰,可以通过适当的融合力一法予以消除;③数据要求低,传感器可以是同质或异质,对传感器的依赖性和要求降低;④分析能力强,能全力一位有效反映目标及环境的信息,满足小同应用的需要。

3.2 图像融合规则

图像的融合规则(Fusion rule)是图像融合的核心,融合规则的好坏直接影响融合图像的速度和质量。

Burt提出了基于像素选取的融合规则,在将原图像分解成不同分辨率图像的基础上,选取绝对值最大的像素值(或系数)作为融合后的像素值(或系数)。这是基于在不同分辨率图像中,具有较大值的像素(或系数)包含更多的图像信息。

Petrovic和Xydeas提出了考虑分解层内各图像(若存在多个图像)及分解层间的相关性的像素选取融合规则。蒲恬在应用小波变换进行图像融合时,根据人类视觉系统对局部对比度敏感的特性,采用了基于对比度的像素选取融合规则。

基于像素的融合选取仅是以单个像素作为融合对象,它并未考虑图像相邻像素间的相关性,因此融合结果不是很理想。考虑图像相邻像素间的相关性,Burt 和Kolczynski提出了基于区域特性选择的加权平均融合规则,将像素值(或系数)的融合选取与其所在的局部区域联系起来。

在Lietal提出的融合规则中,其在选取窗口区域中较大的像素值(或系数)作为融合后像素值(或系数)的同时,还考虑了窗口区域像素(或系数)的相关性。Chibani和Houacine在其融合规则中,通过计算输入原图像相应窗口区域中像素绝对值相比较大的个数,决定融合像素的选取。基于窗口区域的融合规则由于考虑相邻像素的相关性,因此减少了融合像素的错误选取。融合效果得到提高。

ZZhang和Blum提出了基于区域的融合规则,将图像中每个像素均看作区域或边缘的一部分,并用区域和边界等图像信息来指导融合选取。采用这种融合规则所得到的融合效果较好,但此规则相对其他融合规则要复杂。对于复杂的

图像,此规则不易于实现。

3.3 图像融合方法

迄今为止,数据融合方法主要是在像元级和特征级上进行的。常用的融合方法有HIS融合法、KL变换融合法、高通滤波融合法、小波变换融合法、金字塔变换融合法、样条变换融合法等。下面简要介绍其中的几种方法。

1.HIS融合法

HIS融合法在多传感器影象像元融合方面应用较广,例如:一低分辨率三波段图象与一高分辨率单波段图象进行融合处理。这种方法将三个波段的低分辨率的数据通过HIS变换转换到HIS空间,同时将单波段高分辨率图象进行对比度拉伸以使其灰度的均值与方差和HIS空间中亮度分量图象一致,然后将拉伸过的

高分辨率图象作为新的亮度分量代入HIS反变换到原始空间中。这样获得的高分辨率彩色图象既具有较高空间分辨率,同时又具有与影象相同的色调和饱和度,有利于目视解译和计算机识别。

2.KL变换融合法

KL变换融合法又称为主成分分析法。与HIS变换法类似,它将低分辨率的图象(三个波段或更多)作为输入分量进行主成分分析,而将高分辨率图象拉伸使其具有于第一主成分相同的均值和方差,然后用拉伸后的高分辨率影象代替主成分变换的第一分量进行逆变换。高空间分辨率数据与高光谱分辨率数据通过融合得到的新的数据包含了源图象的高分辨率和高光谱分辨率特征,保留了原图象的高频信息。这样,融合图象上目标细部特征更加清晰,光谱信息更加丰富。3.高通滤波融合法

高通滤波融合法将高分辨率图象中的边缘信息提取出来,加入到低分辨率高光谱图象中。首先,通过高通滤波器提取高分辨率图象中的高频分量,然后将高通滤波结果加入到高光谱分辨率的图象中,形成高频特征信息突出的融合影象。4.小波变换融合法

利用离散的小波变换,将N幅待融合的图象的每一幅分解成M幅子图象,然后在每一级上对来自N幅待融合图象的M幅子图象进行融合,得到该级的融合图象。在得到所有M级的融合图象后,实施逆变换得到融合结果。

3.4 图像融合步骤

目前国内外己有大量图像融合技术的研究报道,不论应用何种技术方法,必须遵守的基本原则是两张或多张图像上对应的每一点都应对位准确。由于研究对象、目的不同,图像融合方法亦可多种多样,其主要步骤归纳如下:

(1) 预处理:对获取的两种图像数据进行去噪、增强等处理,统一数据格式、图像大小和分辨率。对序列断层图像作三维重建和显示,根据目标特点建立数学模型;

图3-1 图像融合步骤示意图

(2) 分割目标和选择配准特征点:在二维或三维情况下,对目标物或兴趣区进行分割。选取的特点应是同一物理标记在两个图像上的对应点,该物理标记可以是人工标记,也可以是人体解剖特征点;

(3 )利用特征点进行图像配准:可视作两个数据集间的线性或非线性变换,使变换后的两个数据集的误差达到某种准则的最小值;

(4) 融合图像创建:配准后的两种模式的图像在同一坐标系下将各自的有用信息融合表达成二维或三维图像;

(5) 参数提取:从融合图像中提取和测量特征参数,定性、定量分析。

4、各算法程序

4.1 一般方法

图像融合是通过一个数学模型把来自不同传感器的多幅图像综合成一幅满足特定应用需求的图像的过程,从而可以有效地把不同图像传感器的优点结合起来,提高对图像信息分析和提取的能力。简单的图像融合方法不对参加融合的源图像进行任何变换和分解,而是直接对源图像中的各对应像素分别进行选择、平均或加权平均、多元回归或其它数学运算等处理后,最终合成一幅融合图像。

对于图像融合的对象,可以分为两大类,即多光谱图像(通常为RGB 彩色图像)与灰度图像之间的融合,以及灰度图像之间的融合。灰度图像之间的融合,图像1

图像2 图像n 融合算

法 融合运

算 新的子图

融合逆算法 融合后图像

子图像系数1 子图像系数2 子图像系数n

在大体上可分为三大类。一类是简单融合方法,包括将空间对准的两幅图像直接求加权平均值。另一类方法是基于金字塔形分解和重建算法的融合方法,主要包括梯度金字塔法、对比度和比率金字塔法以及拉普拉斯金字塔法等,它们首先构造输入图像的金字塔,再按一定的特征选择方法取值形成融合金字塔,通过对金字塔实施逆变换进行图像重建,最终生成融合图像,它们的融合效果要远优于第一类方法,然而它也有很多不尽如人意的地方。还有一类方法就是近几年兴起的基于小波变换的图像融合方法,它通常采用多分辨分析和Mallat快速算法,通过在各层的特征域上进行有针对性的融合,比较容易提取原始图像的结构信息和细节信息,所以融合效果要好于基于金字塔形变换的图像融合法。这是因为小波变换更为紧凑;小波表达式提供了方向信息,而金字塔表达式未将空间方向选择性引入分解过程;由于可以选择正交小波核,因此不同分辨率包含的信息是唯一的,而金字塔分解在两个不同的尺度之间含有冗余,另外金字塔不同级的数据相关,很难知道两级之间的相似性是由于冗余还是图像本身的性质引起的;金字塔的重构过程可能具有不稳定性,特别是两幅图像存在明显差异区域时,融合图像会出现斑块,而小波变换图像融合则没有类似的问题。此外,小波变换具有完善重建能力保证了信号在分解重构过程中没有信息损失和信息冗余产生。

4.2 PCA算法程序

基于PCA的图像融合:又称K-L变换法,它的几何意义是把原始特征空间的特征轴旋转到平行于混合集群结构轴的方向去,得到新的特征轴。实际操作是将原来的各个因素指标(这些指标中部分有相关关系)重新组合,组合后的新指标是互不相关的。在由这些新指标组成的新特征轴中,只用前几个分量图像就能完全表征原始集群的有效信息,图像中彼此相关的数据被压缩,而特征得到了突出,此方法在对于具有相关因子的多源遥感数据进行融合时具有显著优势。

基于PCA的融合算法程序:

function Y = fuse_pca(M1,M2)

%Y = fuse_pca(M1,M2) image fusion with PCA method

%

% M1 - input image #1

% M2 - input image #2

%

% Y - fused image

% (Oliver Rockinger 16.08.99)

% check inputs

[z1 s1] = size(M1);

[z2 s2] = size(M2);

if (z1 ~= z2) | (s1 ~= s2)

error('Input images are not of same size');

end;

% compute,select & normalize eigenvalues

[V,D] = eig(cov([M1(:) M2(:)]));

if (D(1,1) > D(2,2))

a = V(:,1)./sum(V(:,1));

else

a = V(:,2)./sum(V(:,2));

end;

% and fuse

Y = a(1)*M1+a(2)*M2;

4.3 金字塔(Pyramid)算法程序

金字塔图像融合法:用金字塔在空间上表示图像是一种简单方便的方法。概括地说金字塔图像融合法就是将参加融合的每幅源图像作金字塔表示,将所有图像的金字塔表示在各相应层上以一定的融合规则融合,可得到合成的金字塔。将合成的金字塔,用金字塔生成的逆过程重构图像,则可得到融合图像。金字塔可

分为:Laplacian金字塔、Gaussian金字塔、梯度金字塔、数学形态金字塔等。

基于FSD Pyramid的图像融合算法程序:

function Y = fuse_fsd(M1,M2,zt,ap,mp)

%Y = fuse_fsd(M1,M2,zt,ap,mp) image fusion with fsd pyramid

%

% M1 - input image A

% M2 - input image B

% zt - maximum decomposition level

% ap - coefficient selection highpass (see selc.m)

% mp - coefficient selection base image (see selb.m)

%

% Y - fused image

% (Oliver Rockinger 16.08.99)

% check inputs

[z1 s1] = size(M1);

[z2 s2] = size(M2);

if (z1 ~= z2) | (s1 ~= s2)

error('Input images are not of same size');

end;

% define filter

w = [1 4 6 4 1] / 16;

% cells for selected images

E = cell(1,zt);

% loop over decomposition depth -> analysis

for i1 = 1:zt

% calculate and store actual image size

[z s] = size(M1);

zl(i1) = z; sl(i1) = s;

% check if image expansion necessary

if (floor(z/2) ~= z/2),ew(1) = 1; else,ew(1) = 0; end;

if (floor(s/2) ~= s/2),ew(2) = 1; else,ew(2) = 0; end;

% perform expansion if necessary

if (any(ew))

M1 = adb(M1,ew);

M2 = adb(M2,ew);

end;

% perform filtering

G1 = conv2(conv2(es2(M1,2),w,'valid'),w','valid'); G2 = conv2(conv2(es2(M2,2),w,'valid'),w','valid');

% select coefficients and store them

E(i1) = {selc(M1-G1,M2-G2,ap)};

% decimate

M1 = dec2(G1);

M2 = dec2(G2);

end;

% select base coefficients of last decompostion stage

M1 = selb(M1,M2,mp);

% loop over decomposition depth -> synthesis

for i1 = zt:-1:1

% undecimate and interpolate

M1T = conv2(conv2(es2(undec2(M1),2),2*w,'valid'),2*w','valid'); % add coefficients

M1 = M1T + E{i1};

% select valid image region

M1 = M1(1:zl(i1),1:sl(i1));

end;

% copy image

Y = M1;

4.4 小波变换(DWT)算法程序

在众多的图像融合技术中,基于小波变换的图像融合方法已成为现今研究的一个热点。这类算法主要是利用人眼对局部对比度的变化比较敏感这一事实,根据一定的融合规则,在多幅原图像中选择出最显著的特征,例如边缘、线段等,并将这些特征保留在最终的合成图像中。在一幅图像的小波变换中,绝对值较大的小波系数对应于边缘这些较为显著的特征,所以大部分基于小波变换的图像融合算法主要研究如何选择合成图像中的小波系数,也就是三个方向上的高频系数,从而达到保留图像边缘的目的。虽然小波系数(高频系数)的选择对于保留图像的边缘等特征具有非常主要的作用,但尺度系数(低频系数)决定了图像的轮廓,正确地选择尺度系数对提高合成图像的视觉效果具有举足轻重的作用。

基于SIDWT(Shift Invariance Discrete Wavelet Transform)小波变换的算法程序:function Y = fuse_sih(M1,M2,zt,ap,mp)

%Y = fuse_sih(M1,M2,zt,ap,mp) image fusion with SIDWT,Wavelet is Haar

%

% M1 - input image A

% M2 - input image B

% zt - maximum decomposition level

% ap - coefficient selection highpass (see selc.m)

% mp - coefficient selection base image (see selb.m)

%

% Y - fused image

% (Oliver Rockinger 16.08.99)

% check inputs

[z1 s1] = size(M1);

[z2 s2] = size(M2);

if (z1 ~= z2) | (s1 ~= s2)

error('Input images are not of same size');

end;

% cells for selected images

E = cell(3,zt);

% loop over decomposition depth -> analysis

for i1 = 1:zt

% calculate and store actual image size

[z s] = size(M1);

zl(i1) = z; sl(i1) = s;

% define actual filters (inserting zeros between coefficients)

h1 = [zeros(1,floor(2^(i1-2))),0.5,zeros(1,floor(2^(i1-1)-1)),0.5,zeros(1,max([floor(2^(i1-2)),1]))];

g1 = [zeros(1,floor(2^(i1-2))),0.5,zeros(1,floor(2^(i1-1)-1)),-0.5,zeros(1,max([floor(2^(i1-2)),1]))];

fh = floor(length(h1)/2);

matlab相关图形实现代码

根据数据点绘制饼图和针状图: x=[1 2 3 4 5 6]; >> subplot(2,2,1);pie(x); >> subplot(2,2,2);pie3(x); >> subplot(2,2,3);stem(x); >>subplot(2,2,4);stem3(x); 5% 10% 14% 19% 24% 29% 24% 29% 19% 5%14% 10%0 2 4 6 2 4 6 5 10 01 2 05 10

根据数据点绘制向量场图、羽状图和罗盘图: x=[1 2 3 4 5 6];y=[1 2 3 4 5 6]; u=[1 2 3 4 5 6];v=[1 2 3 4 5 6]; subplot(2,2,1);quiver(x,y,u,v); subplot(2,2,2);quiver(x,y,u,v,'r'); subplot(2,2,3);feather(u,v); subplot(2,2,4);compass(u,v); 024680 246 802468 246 80 5 10 15 2 4 6 5 10 30 210 60240 90270 120 300 150330 180

rand(m,n)产生m ×n 均匀分布的随机矩阵,元素取值在0.0~1.0。 randn 函数:产生标准正态分布的随机数或矩阵的函数。 Y = randn(m,n) 或 Y = randn([m n])返回一个m*n 的随机项矩阵。 > theta=10*rand(1,50); %确定50个随机数theta >> Z=peaks; %确定Z 为峰值函数peaks >> x=0:0.01:2*pi;y=sin(x); %确定正弦函数数据点x.y >> t=randn(1000,1); %确定1000个随机数t >> subplot(2,2,1);rose(theta); %关于(theta )的玫瑰花图 >> subplot(2,2,2);area(x,y); %关于(x,y)的面积图 >> subplot(2,2,3);contour(Z); %关于Z 的等值线图(未填充) >> subplot(2,2,4);hist(t); %关于t 的柱状图 5 10 30 210 60 240 90270 120300150330 18000246 -1 -0.500.5 110 20 30 40 10 2030 40-4 -2 2 4 100 200 300

matlab图像处理代码

附录 MATLAB图像处理命令  1.applylut  功能: 在二进制图像中利用lookup表进行边沿操作。 语法: A = applylut(BW,lut) 举例 lut = makelut('sum(x(:)) == 4',2); BW1 = imread('text.tif'); BW2 = applylut(BW1,lut); imshow(BW1) figure, imshow(BW2) 相关命令: makelut 2.bestblk  功能: 确定进行块操作的块大小。 语法: siz = bestblk([m n],k) [mb,nb] = bestblk([m n],k) 举例 siz = bestblk([640 800],72) siz = 64 50 相关命令: blkproc 3.blkproc  功能:

MATLAB 高级应用——图形及影像处理 320 实现图像的显式块操作。 语法: B = blkproc(A,[m n],fun) B = blkproc(A,[m n],fun,P1,P2,...) B = blkproc(A,[m n],[mborder nborder],fun,...) B = blkproc(A,'indexed',...) 举例 I = imread('alumgrns.tif'); I2 = blkproc(I,[8 8],'std2(x)*ones(size(x))'); imshow(I) figure, imshow(I2,[]); 相关命令: colfilt, nlfilter,inline 4.brighten  功能: 增加或降低颜色映像表的亮度。 语法: brighten(beta) newmap = brighten(beta) newmap = brighten(map,beta) brighten(fig,beta) 相关命令: imadjust, rgbplot 5.bwarea  功能: 计算二进制图像对象的面积。 语法: total = bwarea(BW) 举例 BW = imread('circles.tif'); imshow(BW);

数字图像处理matlab代码

一、编写程序完成不同滤波器的图像频域降噪和边缘增强的算法并进行比较,得出结论。 1、不同滤波器的频域降噪 1.1 理想低通滤波器(ILPF) I1=imread('eight.tif'); %读取图像 I2=im2double(I1); I3=imnoise(I2,'gaussian',0.01); I4=imnoise(I3,'salt & pepper',0.01); figure,subplot(1,3,1); imshow(I2) %显示灰度图像 title('原始图像'); %为图像添加标题 subplot(1,3,2); imshow(I4) %加入混合躁声后显示图像 title('加噪后的图像'); s=fftshift(fft2(I4)); %将灰度图像的二维不连续Fourier 变换的零频率成分 移到频谱的中心 [M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整 n2=floor(N/2); %对N/2进行取整 d0=40; %初始化d0 for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 if d<=d0 %点(i,j)在通带内的情况 h=1; %通带变换函数 else %点(i,j)在阻带内的情况 h=0; %阻带变换函数 end s(i,j)=h*s(i,j); %ILPF滤波后的频域表示

end end s=ifftshift(s); %对s进行反FFT移动 s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复 数的实部转化为无符号8位整数 subplot(1,3,3); %创建图形图像对象 imshow(s); %显示ILPF滤波后的图像 title('ILPF滤波后的图像(d=40)'); 运行结果: 1.2 二阶巴特沃斯低通滤波器(BLPF) I1=imread('eight.tif'); %读取图像 I2=im2double(I1); I3=imnoise(I2,'gaussian',0.01); I4=imnoise(I3,'salt & pepper',0.01); figure,subplot(1,3,1); imshow(I2) %显示灰度图像 title('原始图像'); %为图像添加标题 subplot(1,3,2); imshow(I4) %加入混合躁声后显示图像 title('加噪后的图像'); s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分 移到频谱的中心 [M,N]=size(s); %分别返回s的行数到M中,列数到N中n=2; %对n赋初值

数字图像处理MATLAB相关代码

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1] subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 J=double(I1); J=40*(log(J+1)); H=uint8(J);

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

MATLAB图像融合

一、实验原理 本实验对源图像分别进行Harr 小波变换,建立图像的小波塔形分解,然后对分解层进行融合,处理各分解层上的不同频域分量可以采用不同的融合算子进行融合处理,本实验采用统一的算法处理,得到融合后的小波金字塔,对融合后的小波金字塔进行小波逆变换,得到的重构图像为拼接图像 1、 Harr 小波变换 Harr 小波分解步骤: 步骤一:输入信号n S 有2n 个样本, 步骤二:将信号分成1,2,2,,0 2n n l n l a S b S l -===,一共12n -对,然后对每一对变换,获得均值1n S -和差值1n d -。,21,212n l n l n S S S +-+=,1,,21,2n l n l n l d S S -+=-反变换可以无损地从 1n S -和1n d -中恢复出原信号,1n S -作为信号的全局信息(低频成分) ,1n d -作为信号的细节信息(高频成分),全局信息和原信号比较相似(局部一致性),细节信息(差值比较小)可以很高效的进行表示。 步骤三:对1n S -实施同样的变换(求均值和差值),获得均值2n S -和差值2n d -,它们两各有22n -个样本值。 步骤四:重复上面的变换步骤,直到0S 中仅有一个元素为止。 2、图像拼接算法 本实验采用小波分解的图像处理方法,首先对图形进小波变换,然后采用分层比较法,对两幅图的一级分解的LL 层进行比较,从而获得准确的位置匹配,然后各层进行相应的位置衔接,得到拼接图像的一级小波分解图像,最后对分解图像进行重构,得到拼接后的图像。 步骤一:首先对两图进行Harr 小波一级分解,假设分解图像如下图。 图一的harr 小波分解 图二的harr 小波分解 步骤二:对一级分解LL 层进行位置匹配。首先求出两幅图的LL 图像梯度值,即图像灰度值的显著变化的地方,采用如下公式 21(1,)mag i j -=

matlab数字图像处理源代码

数字图像去噪典型算法及matlab实现 希望得到大家的指点和帮助 图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响 到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等; 目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度 的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊, 可以对其进行改进,主要避开对景物边缘的平滑处理。 中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。 实验一:均值滤波对高斯噪声的效果 l=imread('C:\Documents and 桌面\1.gif');% 读取图像

J=imnoise(l,'gaussian',0,0.005);% 加入均值为0 ,方差为 0.005 的高斯噪声subplot(2,3,1);imshow(l); title(' 原始图像'); subplot(2,3,2); imshow(J); ti tle('加入高斯噪声之后的图像’); %采用MATLAB 中的函数filter2 对受噪声干扰的图像进行均值滤波 K1=filter2(fspecial('average',3),J)/255; % 模板尺寸为3 K2=filter2(fspecial('average',5),J)/255;% 模板尺寸为5 K3=filter2(fspecial('average',7),J)/255; % 模板尺寸为7 K4= filter2(fspecial('average',9),J)/255; % 模板尺寸为9 subplot(2,3,3);imshow(K1); ti tle(' 改进后的图像1'); subplot(2,3,4); imshow(K2); title(' 改进后的图像2'); subplot(2,3,5);imshow(K3); title(' 改进后的图像3'); subplot(2,3,6);imshow(K4); title(' 改进后的图像4');

基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码

本文主要介绍基于Retinex理论的雾霭天气图像增强及其实现。并通过编写两个程序来实现图像的去雾功能。 1 Rentinex理论 Retinex(视网膜“Retina”和大脑皮层“Cortex”的缩写)理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(Human Visual System)的图像增强理论。该算法的基本原理模型最早是由Edwin Land(埃德温?兰德)于1971年提出的一种被称为的色彩的理论,并在颜色恒常性的基础上提出的一种图像增强方法。Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。 根据Edwin Land提出的理论,一幅给定的图像S(x,y)分解成两幅不同的图像:反射物体图像R(x,y)和入射光图像L(x,y),其原理示意图如图8.3-1所示。 图-1 Retinex理论示意图 对于观察图像S中的每个点(x,y),用公式可以表示为: S(x,y)=R(x,y)×L(x,y) (1.3.1)实际上,Retinex理论就是通过图像S来得到物体的反射性质R,也就是去除了入射光L的性质从而得到物体原本该有的样子。 2 基于Retinex理论的图像增强的基本步骤 步骤一: 利用取对数的方法将照射光分量和反射光分量分离,即: S'(x, y)=r(x, y)+l(x, y)=log(R(x, y))+log(L(x, y)); 步骤二:用高斯模板对原图像做卷积,即相当于对原图像做低通滤波,得到低通滤波后的图像D(x,y),F(x, y)表示高斯滤波函数: D(x, y)=S(x, y) *F(x, y); 步骤三:在对数域中,用原图像减去低通滤波后的图像,得到高频增强的图像G (x, y): G(x,y)=S'(x, y)-log(D(x, y)) ;

数字图像处理(matlab版)第八章 图像融合算法

第八章图像融合算法 8.1 图像融合技术的发展过程 随着科学的发展和技术的进步,采集图像数据的手段不断完善,出现了各种新的图像获取技术。如今,图像融合方法已经运用于社会的很多领域,像遥感卫星图像,光图像,红外图像,医学图像,尤其是多传感器图像融合应用以来,它已成为计算机视觉,目标识别,机器人以及军事等方面研究的重要方面。

8.2基于小波变换图像融合的基本原理 如果一个图像进行L 层小波分解,我们将得到(3L +1)层子带,其中包括低频的基带和层的高频子带。用代表源图像,记为,设尺度系数和小波函数对应的滤波器系数矩阵分别为,则二维小波分解算法可描述为: j C 3L ,h v d D D D 和(,)f x y 0C ()x Φ()x ΨH G 与11 1 j h j j v j j d j j C HC H D GC H D HC G D GC G +++′ =??′=??′=??′=?j+1(0,1, (1) j J =?(8-1)

小波重构算法为: 基于二维DWT 的融合过程如图1.1所示,ImageA 和 ImageB 代表两幅源图像A 和B ,ImageF 代表融合后的图像,具体步骤如下:(1)图像的预处理: 1h v d j j j j j C H C H G D H H D G G D G ?′′′′=+++(,1, (1) j J J =?(8-2) 图8.1 基于DWT 图像融合过程

①图像滤波 ②图像配准 (2)对ImageA和ImageB进行二维DWT分解,得到图像的低频和高频分量。 (3)根据低频和高频分量的特点,按照各自的融合算法进行融合。 (4)对以上得到的高低频分量,经过小波逆变换重构得到融合图像ImageF。 8.3 融合效果性能评价指标 8.3.1均值和标准差

数字图像处理MATLAB相关代码.

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'; J=double(I; J=-J+(256-1; %图像反转线性变换H=uint8(J; subplot(1,2,1,imshow(I; subplot(1,2,2,imshow(H; 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'; subplot(2,2,1,imshow(I; title('原始图像'; axis([50,250,50,200]; axis on; %显示坐标系 I1=rgb2gray(I; subplot(2,2,2,imshow(I1; title('灰度图像'; axis([50,250,50,200];

axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]; %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1] subplot(2,2,3,imshow(J; title('线性变换图像[0.1 0.5]'; axis([50,250,50,200]; grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]; %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] subplot(2,2,4,imshow(K; title('线性变换图像[0.3 0.7]'; axis([50,250,50,200]; grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'; I1=rgb2gray(I; subplot(1,2,1,imshow(I1; title('灰度图像';

基于MATLAB的图像融合算法

基于MATLAB的图像融合算法

基于MATLAB的图像融合算法 摘要 图像融合能够将不同类型传感器获取的同一对象的图像数据进行空间配准。并且采用一定的算法将各图像数据所含的信息优势或互补性有机的结合起来产生新的图像数据。这种新数据具有描述所研究对象的较优化的信息表征,同单一信息源相比,能减少或抑制对被感知对象或环境解释中可能存在的多义性、不完全性、不确定性和误差,最大限度的利用各种信息源提供的信息。 图像融合分为像素级、特征级、决策级三个层次,其中像素级图像融合能够提供其它层次上的融合处理所不具有的更丰富、更精确、更可靠的细节信息,有利于图像的进一步分析、处理和理解,它在整个图像融合技术中是最为复杂、实施难度最大的融合处理技术。本文的研究工作是围绕像素级图像融合展开的,针对像素级图像融合技术中需要解决的关键问题,研究了多种像素级图像融合方法。 本论文的主要的研究内容有: 首先介绍了图像信息融合的概念、优势、发展历史和应用领域,并介绍了图像融合的三个层次及常用的空域图像融合方法,空域融合方法有像素平均法、像素最大最小法、像素加权平均法,频域融合方法包括图像的多尺度分解、图像的小波变换、基于小波变换的 图像融合方法。图像的预处理有滤波(邻域平均滤波法、中值滤波法)和图像配准。最后,对于图像融合系统来说,融合图像质量的评价显得特别重要,本文探讨了图像融合质量的评价问题,总结了融合效果的主、客观评价标准,作为本课题性能分析的判断标准。 关键词:图像配准;图像融合;空域融合法;小波变换;评价标准

MATLAB-based image fusion algorithm Abstract The same object gotten from different sensors can be registered spatially by mage fusion. The information advantages or the complements of all the image data can be combined to produce new image data using some fusion algorithms. The new data can describe the optimized information of the studied object. Compared with single information source, the new data can reduce or restrain the ambiguity, the incompleteness, the uncertainty and the error, which may appears in the explanation of the studied object or the environment, and make full use of the information provided by all kinds of resources. Image fusion consists of such three levels as the Pixel level,the feature level and the decision level,among which the Pixel level image fusion can Provide more abundant, accurate and reliable detailed information tha t doesn’t exist on the other levels and It is the most complicated in the whole image fusion techniques and also is the most difficult to implement in the fusion Processing techniques. this dissertation Progresses mainly around the Pixel level image fusion and proposes a variety of Pixel level image fusion techniques according to the key Problems in the Pixel level image fusion techniques. The major research and findings are as follows: First we introduce the concepts,advantages,developments and applications. Three levels of image fusion and image fusion techniques in common use are also reviewed. Airspace Image Fusion such as simple fusion method (pixel average, maximal or minimal pixel selection), Frequency-domain image fusion methods include the multiresolution image fusion techniques based on multi-scale pyramid decomposition, and the image fusion method based on wavelet transform Image Pre-processing like Filter processing (neighborhood average filter, median filtering method) and Image Registration. in the end, evaluation for fusion image is vital to fusion system. This dissertation probes into the image fusion quality assessment and deduces a set of indexes as the criteria to analyze the performances of this discussion. Keywords: Image Registration;Image Fusion;Airspace integration method;Wavelet Transform;Evaluation criteria

最常用的matlab图像处理的源代码

最常用的一些图像处理Matlab源代 码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 #7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 #8:图像的自适应魏纳滤波 #9:运用5种不同的梯度增强法进行图像锐化 #10:图像的高通滤波和掩模处理 #11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 #12:利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理 1.数字图像矩阵数据的显示及其傅立叶变换 f=zeros(30,30); f(5:24,13:17)=1; imshow(f, 'notruesize'); F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不 % 是,通过对f矩阵进行零填充来调整 F2=fftshift(F); % 一般在计算图形函数的傅立叶变换时,坐标原点在 % 函数图形的中心位置处,而计算机在对图像执行傅立叶变换 % 时是以图像的左上角为坐标原点。所以使用函数fftshift进 %行修正,使变换后的直流分量位于图形的中心; figure,imshow(log(abs(F2)),[-1 5],'notruesize');

2 二维离散余弦变换的图像压缩I=imread('cameraman.tif'); % MATLAB自带的图像imshow(I); clear;close all I=imread('cameraman.tif'); imshow(I); I=im2double(I); T=dctmtx(8); B=blkproc(I,[8 8], 'P1*x*P2',T,T'); Mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2=blkproc(B,[8 8],'P1.*x',Mask); % 此处为点乘(.*) I2=blkproc(B2,[8 8], 'P1*x*P2',T',T); figure,imshow(I2); % 重建后的图像 3.采用灰度变换的方法增强图像的对比度I=imread('rice.tif'); imshow(I); figure,imhist(I); J=imadjust(I,[0.15 0.9], [0 1]); figure,imshow(J); figure,imhist(J);

matlab_数字图像处理代码

%%%%%% 求对比度%%%%%% clear; clc; [filename,pathname]=uigetfile({'*jpg;*.bmp;*.jpeg'},'load?image'); fpath=fullfile(pathname,filename); A=imread(fpath); figure(1); imshow(A); title('原图像') img=rgb2gray(A); figure(2); imshow(img); title('灰度后的'); img1=imnoise(img,'salt & pepper',0.05); %加入椒盐躁声 figure(3); imshow(img1); title('椒盐后的图像'); %%% K近邻域滤椒盐噪声%%% 3*3 %%% 找出与f(i,j)相近的像素值这里利用做差排序找出AAAA1=img1; AAAA1=double(AAAA1); %%%得到椒盐噪声图像 [m,n]=size(AAAA1); for i=2:m-1 for j=2:n-1 ASD1=[AAAA1(i-1,j-1) AAAA1(i-1,j) AAAA1(i-1,j+1) ... AAAA1(i,j-1) AAAA1(i,j) AAAA1(i,j+1) ... AAAA1(i+1,j-1) AAAA1(i+1,j) AAAA1(i+1,j+1)]; aa=ASD1; %%随机设定的一个数组 b=AAAA1(i,j); %%取参照值 a=aa(:); %%将给定数组化为一维的

ab=(a(:)-b)'; %%将数组a与b做差abc=abs(ab); abc=sort(abc); %%差值取绝对值并排序 [as1 as11] =find(abs((a(:)-b))==abc(1,1)); as=[as1 as11]; if ~isempty(abc(abc(:)~=abc(1,1))) if ~isempty(abc) abc1=abc(abc(:)~=abc(1,1)); [as2 as22]=find(abs((a(:)-b))==abc1(1,1)); as=[as1 as11;as2 as22]; end end if ~isempty(abc1(abc1(:)~=abc1(1,1))) if ~isempty(abc1) abc2=abc1(abc1(:)~=abc1(1,1)); [as3 as33]=find(abs((a(:)-b))==abc2(1,1)); as=[as1 as11;as2 as22;as3 as33]; end end if ~isempty(abc2(abc2(:)~=abc2(1,1))) if ~isempty(abc2) abc3=abc2(abc2(:)~=abc2(1,1)); [as4 as44]=find(abs((a(:)-b))==abc3(1,1)); as=[as1 as11;as2 as22;as3 as33;as4 as44]; end end

基于MATLAB的图像融合算法

基于MATLAB的图像融合算法 摘要 图像融合能够将不同类型传感器获取的同一对象的图像数据进行空间配准。并且采用一定的算法将各图像数据所含的信息优势或互补性有机的结合起来产生新的图像数据。这种新数据具有描述所研究对象的较优化的信息表征,同单一信息源相比,能减少或抑制对被感知对象或环境解释中可能存在的多义性、不完全性、不确定性和误差,最大限度的利用各种信息源提供的信息。 图像融合分为像素级、特征级、决策级三个层次,其中像素级图像融合能够提供其它层次上的融合处理所不具有的更丰富、更精确、更可靠的细节信息,有利于图像的进一步分析、处理和理解,它在整个图像融合技术中是最为复杂、实施难度最大的融合处理技术。本文的研究工作是围绕像素级图像融合展开的,针对像素级图像融合技术中需要解决的关键问题,研究了多种像素级图像融合方法。 本论文的主要的研究内容有: 首先介绍了图像信息融合的概念、优势、发展历史和应用领域,并介绍了图像融合的三个层次及常用的空域图像融合方法,空域融合方法有像素平均法、像素最大最小法、像素加权平均法,频域融合方法包括图像的多尺度分解、图像的小波变换、基于小波变换的图像融合方法。图像的预处理有滤波(邻域平均滤波法、中值滤波法)和图像配准。最后,对于图像融合系统来说,融合图像质量的评价显得特别重要,本文探讨了图像融合质量的评价问题,总结了融合效果的主、客观评价标准,作为本课题性能分析的判断标准。 关键词:图像配准;图像融合;空域融合法;小波变换;评价标准

MATLAB-based image fusion algorithm Abstract The same object gotten from different sensors can be registered spatially by mage fusion. The information advantages or the complements of all the image data can be combined to produce new image data using some fusion algorithms. The new data can describe the optimized information of the studied object. Compared with single information source, the new data can reduce or restrain the ambiguity, the incompleteness, the uncertainty and the error, which may appears in the explanation of the studied object or the environment, and make full use of the information provided by all kinds of resources. Image fusion consists of such three levels as the Pixel level,the feature level and the decision level,among which the Pixel level image fusion can Provide more abundant, accurate and reliable detailed information that doesn’t exist o n the other levels and It is the most complicated in the whole image fusion techniques and also is the most difficult to implement in the fusion Processing techniques. this dissertation Progresses mainly around the Pixel level image fusion and proposes a variety of Pixel level image fusion techniques according to the key Problems in the Pixel level image fusion techniques. The major research and findings are as follows: First we introduce the concepts,advantages,developments and applications. Three levels of image fusion and image fusion techniques in common use are also reviewed. Airspace Image Fusion such as simple fusion method (pixel average, maximal or minimal pixel selection), Frequency-domain image fusion methods include the multiresolution image fusion techniques based on multi-scale pyramid decomposition, and the image fusion method based on wavelet transform Image Pre-processing like Filter processing (neighborhood average filter, median filtering method) and Image Registration. in the end, evaluation for fusion image is vital to fusion system. This dissertation probes into the image fusion quality assessment and deduces a set of indexes as the criteria to analyze the performances of this discussion. Keywords: Image Registration;Image Fusion;Airspace integration method;Wavelet Transform;Evaluation criteria

相关文档
最新文档