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

更新时间:2024-01-31 01:20:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

摘 要 ..................................................................................................................... 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.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)为对应的变形。

- 2 -

武汉理工大学课程设计说明书

图1-1 cp2tform函数能修正的6种几何变形

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

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

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

- 3 -

武汉理工大学课程设计说明书

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

1.2 课题设计要求

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

1、提供实验室机房及其matlab软件; 2、提供两张同一景物不同效果的图片; 3、数字图像处理的基本理论学习。

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

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

(2)熟练掌握matlab软件,并利用matlab设计一程序完成以下功能; (3)通过对图像融合原理的认识,进行实现图像融合的程序设计;

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

较分析;

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

- 4 -

武汉理工大学课程设计说明书

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++ 语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。

- 5 -

武汉理工大学课程设计说明书

利用 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 语言代码,

- 6 -

武汉理工大学课程设计说明书

并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都是自动完成的,用户需要做得仅仅使用鼠标点击几个按钮即可。 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语句形式 》变量=表达式;

通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只

- 7 -

武汉理工大学课程设计说明书

要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在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语言编程

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

- 8 -

武汉理工大学课程设计说明书

常有效的工具。相对于其他类似于MATLAB的仿真软件,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 图象融合算法的层次分类

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

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

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

- 9 -

武汉理工大学课程设计说明书

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

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

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

3.2 图像融合规则

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

- 10 -

武汉理工大学课程设计说明书

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

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

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

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

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

3.3 图像融合方法

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

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

- 11 -

武汉理工大学课程设计说明书

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

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

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

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

3.4 图像融合步骤

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

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

- 12 -

武汉理工大学课程设计说明书

图像1 图像2 融合算法 子图像系数1 子图像系数2 融合运算 新的子图像 图像n 子图像系数n 融合逆算法 融合后图像

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

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

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

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

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

4、各算法程序 4.1 一般方法

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

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

- 13 -

武汉理工大学课程设计说明书

在大体上可分为三大类。一类是简单融合方法,包括将空间对准的两幅图像直接求加权平均值。另一类方法是基于金字塔形分解和重建算法的融合方法,主要包括梯度金字塔法、对比度和比率金字塔法以及拉普拉斯金字塔法等,它们首先构造输入图像的金字塔,再按一定的特征选择方法取值形成融合金字塔,通过对金字塔实施逆变换进行图像重建,最终生成融合图像,它们的融合效果要远优于第一类方法,然而它也有很多不尽如人意的地方。还有一类方法就是近几年兴起的基于小波变换的图像融合方法,它通常采用多分辨分析和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

- 14 -

武汉理工大学课程设计说明书

% 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)算法程序

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

- 15 -

武汉理工大学课程设计说明书

分为: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

- 16 -

武汉理工大学课程设计说明书

% 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

- 17 -

武汉理工大学课程设计说明书

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

- 18 -

武汉理工大学课程设计说明书

% 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,max([floor(2^(i1-2)),1]))];

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

- 19 -

zeros(1,zeros(1,

武汉理工大学课程设计说明书

% image A

Z1 = conv2(es(M1, fh, 1), g1, 'valid'); A1 = conv2(es(Z1, fh, 2), g1','valid'); A2 = conv2(es(Z1, fh, 2), h1','valid'); Z1 = conv2(es(M1, fh, 1), h1, 'valid'); A3 = conv2(es(Z1, fh, 2), g1','valid'); A4 = conv2(es(Z1, fh, 2), h1','valid'); % image B

Z1 = conv2(es(M2, fh, 1), g1, 'valid'); B1 = conv2(es(Z1, fh, 2), g1','valid'); B2 = conv2(es(Z1, fh, 2), h1','valid'); Z1 = conv2(es(M2, fh, 1), h1, 'valid'); B3 = conv2(es(Z1, fh, 2), g1','valid'); B4 = conv2(es(Z1, fh, 2), h1','valid');

% select coefficients and store them E(1,i1) = {selc(A1, B1, ap)}; E(2,i1) = {selc(A2, B2, ap)}; E(3,i1) = {selc(A3, B3, ap)};

% copy input image for next decomposition stage M1 = A4; M2 = B4; end;

% select base coefficients of last decompostion stage A4 = selb(A4,B4,mp);

% loop over decomposition depth -> synthesis

- 20 -

武汉理工大学课程设计说明书

for i1 = zt:-1:1

% define actual filters (inserting zeros between coefficients)

h2 = fliplr([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]))]);

g2 = fliplr([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(h2)/2);

% filter (rows)

A4 = conv2(es(A4, fh, 2), h2', 'valid'); A3 = conv2(es(E{3,i1}, fh, 2), g2', 'valid'); A2 = conv2(es(E{2,i1}, fh, 2), h2', 'valid'); A1 = conv2(es(E{1,i1}, fh, 2), g2', 'valid');

% filter (columns)

A4 = conv2(es(A4+A3, fh, 1), h2, 'valid'); A2 = conv2(es(A2+A1, fh, 1), g2, 'valid');

% add images A4 = A4 + A2; end;

% copy image Y = A4;

- 21 -

武汉理工大学课程设计说明书

5、实验结果

下面将本文的算法用于多聚焦图像的融合。多聚焦图像指的是对相同的场景

用不同的焦距进行拍摄,得到镜头聚焦目标不同的多个图像。经过图像融合技术后,就可以得到一个所有目标都聚焦清晰的图像。图5-1中左边的目标较为清晰,图5-2中右边的目标较为清晰。

图5-1 聚焦在左边的图像

图5-2 聚焦在右边的图像

- 22 -

武汉理工大学课程设计说明书

我们分别利用基于PCA的算法、金字塔图像融合法和小波变换法的算法程序得到的的融合图像结果,如图5-3、图5-4、图5-5所示

图5-3 基于PCA算法的融合图像

图5-4 基于金字塔图像融合算法的融合图像

- 23 -

武汉理工大学课程设计说明书

图5-5 基于SIDWT小波变换的融合图像

从实验结果可以看出,三种方案都可以得到较满意的视觉效果,消除了原图像的聚焦差异,提高了图像的清晰度,在合成图像中左、右两边的目标都很清晰。但通过比较分析,我们可以看出基于小波变换的融合图像(图5-5)最为清晰,所表现的图像细节效果最好,重影现象消除得最干净。图5-3的清晰度不够,而图5-4的细节表现力较弱,只有图5-5的边缘最清晰,重影消除地最干净,细节得到了最好地保留。

6、图像融合的应用

图像融合技术在军事、遥感和医学成像等领域有着广泛的应用,和人工智能等的新兴技术。近年来,图像融合已成为一种十分重要的图像分析与计算机视觉技术。它在自动目标识别计算机视觉!遥感、机器人、医学图像处理以及军事应用等领域有着广泛的应用前景。

智能机器人领域:动作控制\对环境的视觉触觉力矩反馈\立体摄像融合\智能注视控制\自动目标识别和跟踪。信息融合技术对机器人领域起到了一定的推动作用。作为信息融合的重要分支-图像融合技术可用于自动目标识别等。

- 24 -

武汉理工大学课程设计说明书

医学影像领域:计算机辅助手术、3-D表面空间校准。医学图像融合是医学图像后处理的研究热点主要包括转换&配准和信息提取三个步骤。它充分利用多模式图像获得互补信息,使临床的诊断和治疗更加准确完善。

制造业领域:电子线路和部件检查&产品表面测量和检验&材料探伤&生产过程监视&复杂设备诊断。

战场和司法领域:陆海空目标/事件的检测跟踪和识别&隐蔽武器的探测&战场监视&夜间飞行导航。

在遥感领域中,电磁光谱应用、黑白空中摄影到多光谱主动微波空间成像雷达、基于摄像方法和数字方法的融合技术等。

7、总结

数字图像融合是图像分析的一项重要技术,该技术在数字地图拼接、全景图、虚拟现实等领域有着重要应用。虽然Photoshop等图像处现软件提供了图像处理功能,可以通过拖放的方式进行图像拼接,但由于完全是手工操作,单调乏味,且精度不高,因此,有必要寻找一种方便可行的图像融合方法。Mattab具有强大的计算功能和丰富的工具箱函数,例如图像处理和小波工具箱包含了大多数经典算法,并且它提供了一个非常方便快捷的算法研究平台,可让用户把精力集中在算法上而不是编程上,从而能大大提高研究效率。

本文给出了几种不同的图像融合方法,并介绍了图像融合的规则、方法和步骤。并给出了三种常用的融合算法程序,在最后论述了图像融合技术在军事、医学图像和遥感测控中的应用。

三种融合算法的方案,即PCA算法、金字塔图像融合算法与基于小波变换算法。PCA算法在一定程度上降低了图像的对比度,金字塔图像融合算法在平均法的基础上有一定的改善,但并没有非常明显的提高;第三种方法则利用小波变换算法对原图像进行融合处理,边缘的点加以保留,所以得到的合成图像最清晰,细节最丰富。最后本文将这一算法用于多聚焦图像的融合。从仿真结果可以看出,第三种方案的融合效果最好。

- 25 -

武汉理工大学课程设计说明书

参考文献

1、数字图象处理:MATLAB版:using MATLAB (美) Rafael C.Gonzalez, Richard E. Woods, Steven L. Eddins著;阮秋琦等译 北京:电子工业出版社,2005 2、数字图象处理与分析基础 黄爱民, 安向京, 骆力等编著 北京:中国水利水电出版社,2005

3、数字图象处理导论 赵荣椿,赵忠明,崔甦生编著 西安:西北工业大学出版社,1995

4、MATLAB 6.1基础及应用技巧 李海涛, 邓樱编著 北京:国防工业出版社,2002

5、MATLAB 6.5辅助图像处理 飞思科技产品研发中心编著 北京:电子工业出版社,2003

6、Matlab工具箱应用指南.控制工程篇 徐昕, 李涛, 伯晓晨等编著 北京:电子工业出版社,2000

7、Matlab信号处理与应用 董长虹主编 北京:国防工业出版社,2005 8、数字图像处理学:活用Matlab 缪绍纲编著 成都:西南交通大学出版社,2001

9、数字图像处理 (美) Rafael C. Gonzalez, Richard E. Woods著;阮秋琦, 阮宇智等译 北京:电子工业出版社,2003

10、图象处理与分析:数学形态学方法及应用 崔屹编著 北京:科学出版社,2000

- 26 -

武汉理工大学课程设计说明书

引言

自从上世纪60年代美国喷气推进实验室对航天探测器“徘徊者7号”发回的几千张月球照片进行处理得到清晰逼真的图像之后,数字图像处理技术在科学研究、工业生产和管理部门中得到越来越多的应用。在图像识别、目标跟踪、机器人导航、自动驾驶、交通监视等领域中的应用也极大地促进了图像处理技术的发展。图像处理理论的发展特别是实时图像处理对数字图像处理器提出了较高的要求,图像处理系统必须具有强大的运算功能,DSP的发展正好能满足这一发展的要求。DSP的发展,使得在许多速度要求较高,算法较复杂的场合,取代MCU或其它处理器,而成本有可能更低。

图像识别技术是图像处理技术的高层次应用,也是模式识别的一个分支,最初从文字识别开始,然后逐步发展到识别静止图像和运动图像,接下来是对三维物体的处理和识别。图像识别技术广泛的用于军事,医学,交通,工业生产等领域,例如,字符识别,医学诊断,遥感图像解释,导航与制导,人脸与指纹识别,污染监测,工业生产检测等等。近年来国际上对这一领域给予了极大地重视,有关图像识别的理论算法也取得了较大的进展,如人工神经元网络,遗传算法等在图像识别的研究中取得了可喜的成果。现在,研究高性能,多用途的图像分析识别系统乃是有待我们努力解决的课题。

本文从图像处理的现状入手,概括介绍了TI公司DM642 型号的DSP的性能及其图像处理模块的应用,以较大篇幅介绍了关于图像处理的基础理论以及基于DSP的图像处理算法的实现。最后,以这些理论算法为基础,对所采图像中数字、符号信息进行识别,并取到了较为满意的效果。

第1章 数字图像处理的应用及现状

数字图像处理是指使用数字计算机来加工、处理图像,就其处理目的

- 27 -

武汉理工大学课程设计说明书

而言可分为:恢复退化图像的本来面目、改善视觉效果、突出图像中目标物的某些特征、提取目标物的特征参数。

数字图像信息有以下几个特点:⑴信息量大,一幅大小为512×512的二维图像信息量为: bit,这就对计算机的速度和内存容量提出了要求。⑵相关性大,常常有大批像素具有相同或接近的灰度。因此,数据信息压缩的潜力很大。⑶占用频带较宽,如电视图像的带宽约5.6MHz,而语音带宽仅为4kHz左右。这对频带压缩技术提出很高要求。 1.1 数字图像处理的内容

数字图像处理学科所涉及的知识面十分广阔,具体方法种类繁多,应用也极为普遍,但从学科研究内容上可以分为以下几个方面:

(1)图像数字化。将模拟图像转化为计算机可用的离散的图像数据。 (2)图像变换。改变图像的表示域或表示数据,如傅立叶变换,沃尔什变换,离散余弦变换等,将空间域处理转换为变换域处理。

(3)图像增强。改善图像的质量和视觉效果,或突出感兴趣的部分,以便于人或机器分析,理解图像内容。

(4)图像复原。对退化图像进行处理,使处理结果尽量接近原始未失真图像。 (5)图像分割。根据灰度或几何特性选定的特征,将图像划分为几个有意义的部分,对有意义的部分继续处理分析,提取有用信息,以便进一步做模式识别、机器视觉等处理。

(6)图像描述和分析。也称图像理解,是对给定的或已分割的的图像区域的属性及各区域之间的关系用更为简单明确的数值、符号或图形来表征,它们反应图像的重要信息和主要特征,有利于人或机器对原图像的分析和理解。

(7)图像数据压缩。减少图像数据量,以便节省传输和处理时间以及存储容量。编码是压缩技术中最重要且比较成熟的方法。

(8)图像分类。图像经过某些预处理,再进行特征提取、分割,进而按一定的判据进行判决分类

(9)图像重建。它利用摄像,X射线或超声波在三维物体中的投射或散射信息,应用一定的算法来构造物体某断层面的二维图像或由多个断面构成三维图像。例如计算机断层扫描成像技术,俗称CT(computer tomography)技术。

- 28 -

武汉理工大学课程设计说明书

1.2 数字图像处理的应用

目前,数字图像处理已应用于许多领域。在遥感方面,以数字图像处理为基础,发展了多光谱图像遥感,SAR图像遥感和微波图像遥感,以及与这些遥感技术相对应的技术。目前,人们利用数字图像处理技术处理分析遥感图像,可以有效的进行资源勘探和调查、农业和城市土地规划、作物估产、气象预报、灾害及军事目标监视等。

在医学方面,无论是临床诊断还是病理研究都大量采用图像处理技术,如X光照片的分析,血球计数,染色体分类等。

在工业和工程方面,图像处理技术已有效的应用于无损探伤、质量检测和过程控制等方面,如应力分析、流场分析、机械零件检测和识别、印刷电路板疵病检查等。

在军事方面,图像处理技术的应用上最有价值和迫切需求的是飞行导航、导弹打靶的景物图像制导和寻的。该技术是通过判读侦查照片,进行图像匹配识别和跟踪。

另外,人像、指纹以及其他痕迹的处理和识别,以及跟踪、监视、交通监控、事故分析等都已在不同程度上使用的图像处理技术的成果。

目前,数字图像处理研究最为活跃的一个领域视基于模式识别的机器人“计算机视觉” ,该技术已发展到制造具备视觉、听觉和触觉反馈的智能机器人,它将在诸多方面起到重要作用。 1.3图像处理与图像识别

图像处理着重强调对给定的图像进行某些变换,从而得到清晰图像的过程。虽然人们常用图像处理泛指各种图像技术,但比较狭义的图像处理主要满足于对图像进行各种加工以改善图像的视觉效果并为自动识别打下基础,或对图像进行压缩编码以减少所需存储空间或传输时间,满足设定传输通路的要求。对含有噪声的图像,要去除噪声,滤去干扰,提高信噪比;对信息微弱的图像进行灰度变换等增强处理;对已经退化的图像进行复原;对失真的图像进行几何校正等变换。 图像识别就是对经过上述处理的图像进行特征抽取,如抽取图像的边缘、线及轮廓,进行区域分割等,然后根据图形的几何及纹理等特征利用模式匹配、判别函

- 29 -

武汉理工大学课程设计说明书

数、决定树、图像匹配等识别理论对图像进行分类,并对整个图像做结构上的分析。

随着目前对智能化的要求越来越高,图像识别已经而且会继续成为一个备受关注的研究方向。

1.4 VPM642图像处理开发板

大量数据的处理和现代图像处理算法要求图像处理系统必须具有强大的运算功能,特别是实时图像处理的场合,对硬件提出更高的要求。SEED-VPM642是一款专为各种视频应用而推出的开发板,核心芯片是TI最新推出的面向多媒体处理领域的数字信号处理器TMS320DM642。DM642建立在C64x DSP核基础上,采用德州仪器公司开发的第二代高性能的先进的超长指令字结构VeloeiTl,在600MHz的时钟频率下,DM642每秒可以进行24亿次16位的乘累加或48亿次的8位的乘累加。这样强大的运算能力使得DM642可以进行实时多视频图像处理。它的增强型直接内存存取 (EDMA)对DSP图像处理系统是非常重要的,它可以在没有CPU参与的情况下完成映射存储空间中数据搬移。 1.5 论文组织

论文第一章介绍了数字图像处理的内容、应用及现状,并由图像处理对硬件要求的提高而引入DSP。第二章介绍DSP开发板的硬件结构和开发环境,重点介绍了VPM642开发板的图像处理模块及其图像采集过程。第三章讲述了图像处理理论及算法,并在此基础之上,实现简单的图像识别。

第2章 SEED-VPM642及其图像处理模块 2.1 SEED-VPM642开发板简介

SEED-VPM642是一款专为各种视频应用而开发的PCI插卡或带10/100M以太网接口的独立的模板,(见图2.1)其上包含:专用于数字媒体应用的高性能32位定点DSP TMS320DM642,其工作主频高达720MHz,处理性能可达5760MIPS,可实时实现多路视频/音频的编码运算,如:MPEG4、H.264、G.729

- 30 -

武汉理工大学课程设计说明书

等;多路视/音频接口:4路PAL/NTSC制标准复合或Y/C模拟视频输入,1路PAL/NTSC制标准复合或Y/C模拟视频输出,4路标准的麦克风输入或Audio Line In立体声输入,4路标准的Audio Line Out立体声输出;2路可编程切换的RS232/RS422/RS485异步接口,8路数字输入,8路数字输出,用于云台控制和环境检测;大容量本地储存:标准的ATA硬盘接口,方便本地存储,实现数字录像机功能;高速数据传输接口:标准的32位、33MHz、支持主/从模式的PCI 2.2总线或10/100M以太网接口,方便实现数字视频服务器功能;实时时钟,为数字视频/音频提供实时时基信息;软/硬加密功能,更好的保护开发者知识产权。

图2.1 SEED-VPM642开发板 2.2 DSP特点

为适应快速数字信号处理运算的要求,DSP芯片普遍采用了特殊的硬件和软件结构,以提高数字信号处理的运算速度,并且多数DSP运算操作可以在一个指令周期内完成。DSP芯片的结构特征主要是指: ① 哈佛(Harverd)结构及改进的哈佛结构

哈佛结构不同于冯·诺依曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。而冯·诺曼结构则是将指令、数据、地址存储在同一存储器中,统一编址,依靠指令计数器提供的地址来区分是指令、数据还是地址。取指令和取数据都访问同一存储器,数据吞吐率低。

在哈佛结构中,由于程序和数据存储器在两个分开的空间中,因此取指和执行能完全重叠运行。为了进一步提高运行速度和灵活性,TMS320系列DSP芯片在基本哈佛结构的基础上作了改进,一是允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了一个指令周期的时间。

- 31 -

武汉理工大学课程设计说明书

② 专用的硬件乘法器

在通用微处理器中,乘法是由软件实现的,实际上是由时钟控制的一连串移位运算。而在数字信号处理中,乘法和加法是最重要的运算,提高乘法运算的速度就是提高DSP的性能。在DSP芯片中,有专门的硬件乘法器(DM642有两个乘法器,其他只有一个),使得一次或者两次乘法运算可以在一个单指令周期中完成。大大提高了运算速度。 ③ 指令系统的流水线结构

在流水线操作中,一个任务被分成若干子任务,这样,他们在执行时可以相重叠,与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力,把指令周期减小到最小值,同时也就增加了信号处理器的吞吐量。

第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。也就是说,处理器可以并行处理2~6条指令,每条指令处于流水线上的不同阶段。在三级流水线操作中,取指、译码和执行操作可以独立地处理,这可使指令执行能完全重叠。在每个指令周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。 ④ 片内外两级存储结构

在片内外两级存储器结构中,片内存储器虽然不可能具有很大的容量,但速度快,可以多个存储器块并行访问。片外存储器容量大,但速度慢,结合他们各自优势,实际应用中,一般将正在运行的指令和数据放在内存储器中,暂时不用的数据和程序放在外部存储器中。片内存储器的访问速度接近寄存器访问速度,因此DSP指令中,采用存储器访问指令取代寄存器访问指令,而且可以采用双操作数和三操作数来完成多个存储器同时访问,使指令系统更加优化。 ⑤特殊的DSP指令

DSP的另一个特征就是采用特殊的DSP指令,不同系列的DSP都具备一些特殊的DSP操作指令,以充分发挥DSP算法和各系列特殊设计的功能。 ⑥快速指令周期

哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期在200ns 以下。TMS320系列处理器的指令

- 32 -

武汉理工大学课程设计说明书

周期已经从第一代的200ns降低至现在的2ns 以下。快速的指令周期使得DSP芯片能够实时实现许多DSP应用。 2.3 TMS320DM642芯片结构

DM642 (TMS320DM642)型处理器是TI公司最新推出的面向多媒体处理领域的数字信号处理器(DSP)。 DM642建立在C64x DSP核基础上,采用德州仪器公司开发的第二代高RS232性能的先进的超长指令字结构VeloeiTl.2TM, 含有双数据通路、8个运算单元,每周期可执行8条32-bit指令,支持4个16-bit和8个8-bit连乘加MAC指令,有64个寄存器,取数/存数的数据通道为64-bit。在600MHz的时钟频率下,每秒最多可完成4.8 G次操作,具备在线编程功能,带有的丰富外围接口可以与多种存储器相连,可以直接与网络连接。DM642每秒可以进行24亿次16位的乘累加或48亿次的8位的乘累加,这样强大的运算能力使得DM642可以进行实时多视频图像处理。

DM542结构框图如图2.2,其外部端口包括:

图2.2 DM642结构框图

·三路可配置的视频端口,可以进行视频输入输出,数据流输入的无缝连接 ·VCXO interpolated control port (VIC),内插控制接口 · 10/100 Mbps ethernet MAC (EMAC),光纤接口

·Management data input/output (MDIO) module,数据输入输出控制模组 ·Inter-Integrated Circuit (I2C) bus Module,I2C总线模组 ·Multichannel audio serial port (McASP),多通道音频端口

·Two multichannel buffered serial ports (McBSPs),多通道缓冲端口 ·3个32位通用定时器

·host port interface (HPI16/HPI32),用户可配置16位,32位主机接口 ·66 MHz 32-bit peripheral component interconnect (PCI),PCI总线 ·General-purpose input/output (GPIO) port,通用输入输出端口 ·64-bit external memory interface (EMIF),64位外部存储器接口

- 33 -

武汉理工大学课程设计说明书

DM642采用两级Cache结构,1级程序缓存(L1P)是128K的直接映射的缓冲区,1级数据缓存(L1D)是128K的设置相关联的2块缓冲区。2级存储器/缓存包括2M的程序数据存储空间。2级存储器可以配置为映射存储区,缓冲区,或者两者的结合。

增强的直接存取器访问(EDMA)控制器处理二级(L2)缓存控制器和 DSP 的片外设备之间的所有数据传输。这些数据传输包括高速缓存服务,无缓存内存存取,用户定义数据传输和基本传输。C64x EDMA 最多可支持64 个EDMA 通道,这些通道服务于片外设备和外部存储器。

内部时钟信号都可以通过内部锁相环电路PLL产生,Power down 电源管理模块可以控制可部分的工作模式,以降低功耗。 2.4视频解码芯片YVP5150AM1

TVP5150A 芯片是一款超低功耗NTSC/PAL/SECAM视频解码器。TVP5150A 解码器将 NTSC, PAL, 和 SECAM 视频信号转换为8位ITU-R BT.656信号。在典型运行条件下,该解码器的功耗是115mW,而在低功耗模式下,功耗仅有1mW,是的它在便携式设备中得到大量应用。TVP5150A 解码器需要一个外部晶振,可以再I2C总线下进行编程,内核电压1.8V,I/O电压3.3V。

TVP5150A 解码器将基带模拟视频转换为数字YCbCr 4:2:2 复合视频,同样支持合成及S-Video输入。内部带有9位A/D转换器,输出为8位4:2:2格式或8位ITU-R BT.656格式。解码器时钟频率为14.31818M,由晶振分频所得。内部寄存器的读写采用总线控制。下图为TVP5150A与DSP的连接电路图,由于TVP5150A的输入信号为0.75VPP,而外部输入信号一般为1VPP,所以外部视频输入与TVP5150A之间串接18Ω和56Ω到地分压电阻网络,以达到TVP5150A输入电平要求。本系统采用复合视频信号输入,CYBS/Y0作为复合视频输入,CYBS/C0接地。

图2.3 解码芯片与DSP连接电路图 2.5 视频处理模块

DM642型数字信号处理器可实时处理4路模拟视频和音频输入、l路模拟/数字视

- 34 -

武汉理工大学课程设计说明书

频和1路模拟音频信号输出,适应PAL/NTSC标准复合视频CVBS或分量视频Y/C格式的模拟信号输入,可适应PAL/NTSC标准S端子或数字RGB模拟/数字信号输出,可适应标准麦克风或立体声音频模拟输入及标准立体声音频模拟输出,具有对多路采集数据进行实时处理和分析的功能,可实现数据和图像叠加显示。视频框图如图2.4。

图2.4 视频端口配置

视频接口可工作在三种状态:视频捕获模式,视频显示模式,TSI捕获模式。如图示,每个视频端口包括A,B通道,两通道共有5120字节的缓冲器。对于视频捕获模式,端口可以作为2个8/10位通道来捕获BT.656或RAW原始图像格式;或者作为单通道8/10位的BT.656,8/10位RAW,16/20位的Y/C视频格式,16/20位的RAW原始图像格式,8位的TSI格式。对于视频显示模式下,端口可以在单通道方式下显示:8/10位的BT.656,8/10位RAW,16/20位的Y/C视频格式,16/20位RAW。

视频捕获操作方式如下:模块对输入的图像数据采样,并将其存入图像的FIFO里面,当FIFO里的数据达到一定数量后,将出发DMA通道将数据从FIFO送入DSP存储器中。某些情况下,在图像数据输入后进行色彩分离(YC信号分离),这就需要多个FIFO和多通道DMA来进行数据传输。视频捕获和视频显示有多种方式,这里仅介绍BT.656 捕获和显示方式。

BT.656 捕获方式中,TVP5150A 解码器将基带模拟视频转换为数字YCbCr 4:2:2 复合视频,系统捕获8位或10位的4:2:2的亮度、色彩复合信号进入单一的数据流中。视频信号转换为Cb,Y,Cr,Y,Cb,Y,Cr,……的形式,其中,序列Cb,Y,Cr表示同位置的亮度和色彩样本,接下来的Y值对应于下一个亮度样本。数据流以这种方式分离后,各分量分别以打包的形式进入各自所对应的FIFO中,为进一步进入DSP内存中的缓冲器做准备。打包和采样的顺序依赖于采样位数(8为或10位)以及DSP的模式(big-endianess 和little-endianess)。每个通道的数据线都是10位,对于8位操作,输入的数据按高位对齐(9-2位),低2位忽略。

- 35 -

武汉理工大学课程设计说明书

BT.656 视频显示方式下,将输出一通道复合数据流的8位Y/C或者10位的4:2:2同位置亮度色度信号。像素点成对输出,每对包含两个亮度采样和两个色度采样。显示时要连接SAA7120视频译码器,如下图示。

图2.5 8位Y/C显示方式连接 2.6 图像采集与数据处理过程

TMS320DM642有三个可配置的视频端口:VP0、VP1和VP2,与视频采集芯片连接,该系统将VP0口与之连接,采用8位ITU-R BT.656模式。将VPxD2~9,直接与A/D芯片的8根输出管脚相连。输入的PAL/NTSC模拟信号经过视频解码芯片A/D后形成的数字视频信号直接进入相应的视频端口中。采集8 bit ITU-R BT.656数据时,视频端口接收A/D的亮度与色度的复合数据流(YUV422,称为packet格式:Cb,Y,Cr,Y,Cb,Y,Cr ),然后将它分解成三个单独的数据流(planar格式),分别是Y,U,V,再将分离后的数据打包存放到各自的FIFO中。 将FIFO分成3部分,其中为亮度数据Y分量分配的FIFO为1280B,为每个色度数据分量分配FIFO为640B;每个FIFO都有相关的存储器映射地址:YSRC,CBSRC和CRSRC;EDMA将使用这些地址作为数据搬运操作的源地址。每个视频端口最多可以使用六个EDMA通道,当某个FIFO的计数器到达VCTHRLDn寄存器设置的数值时,就可以触发相应的EDMA(增强的直接存储器存取控制器)事件。 图像获取模式下,使用YEVT, CbEVT, CrEVT事件来告知DMA控制器将buffer中的图像采样数据复制到DSP的存储器中。产生事件的号码是VCxTHRLD中的VCTHRLDn设置的。在每个YEVT, DMA 使用YSRC定位源地址,将数据从Ybuffer里面送入DSP存储器中;类似的,在每个CBSRC ,CrEVT,DMA分别使用CBSRC和CRSRC定位各自源地址,将数据从各自buffer里面送到DSP存储器中。对于每4个Y采样,对应于2个Cb 采样和2个 Cr采样,所以Cb 和 Cr的buffer空间是Y空间的一半。 2.7 EDMA配置

EDMA配置是为了从FIFO搬运数据到SDRAM中,采用1D/2D传输,即源地址不变,而目的地址则在每次传输后按索引值自动更新。我们为每一场设置一个EDMA参

- 36 -

武汉理工大学课程设计说明书

数,并将这些参数连接起来,一次传输任务的结束会自动从参数RAM中装载下一次传输需要的参数,从而实现某些复杂数据流的传输。

初始EDMA参数设置:数据源地址;数据目的地址:第一行起始地址;数据单元计数:一行的采样点数:每行像素数;阵列计数:一场的采样行数;阵列索引:一场采样点数的两倍(两场按行交叉存放);参数连接地址:下一组EDMA参数。格式如图2.7所示。

可选参数设置:优先级:用户设置;数据单元子长:32bit;1D/2D源/目的地址传输;源/目的地址更新模式:源地址不更新,目的地址按阵列索引更新;传输结束中断:使能每帧的底场结束中断,并设置中断码;顶场禁止;EDMA事件连接:使能所有EDMA参数的连接。

通过以上参数设置后三个EDMA通道分别负责从视频端口FIFO中搬运Y、Cb和Cr三个分量到SDRAM中;EDMA每启动一次,从FIFO中搬运一行的采集数据到SDRAM中,并在搬运完毕后自动更新目的地址;EDMA阵列计数值到0后启动参数连接,从参数RAM中装载下一次传输需要的参数,若使用了传输结束中断,则执行EDMA中断服务程序。

EDMA参数存储结构

Option(可选参数) Word 0

SRC Adress(源地址) Word 1

Array/Frame count (帧/阵列计数) Element count (数据单元计数) Word 2

- 37 -

武汉理工大学课程设计说明书

Dst address(目的地址) Word 3

Array/Frame index (帧/阵列索引) Element index (数据单元索引) Word 4

Element count reload (数据计数的重加载) Link address (连接地址) Word 5

图2.7 EDMA参数配置存储结构

模拟视频输入PAL或NTSC都是按场隔行扫描,因此数据可以按照场模式进行存储,即先存储顶场再存储底场,在存储器中是单独的两场图像;或者按帧模式进行存储,即顶场和底场按行交叉存储,将两场图像拼成一帧图像。

按帧模式存储时,在SDRAM中申请一帧缓存,然后为每一帧中的每一场的亮度和色度分量指定存储地址,两场地址相差一个象素行,首先采集顶场,然后采集底场,两场按行交叉存放形成完整的一帧。

在DSP中开辟三个存储数据段,分别存放这些数据:capChaAYSpacecap,ChaACbSpace,capChaACrSpace。段定义如下:

#pragma DATA_SECTION(capChaAYSpace, \Uint8 capChaAYSpace[720*576];

#pragma DATA_SECTION(capChaACbSpace, \Uint8 capChaACbSpace[360*576];

- 38 -

武汉理工大学课程设计说明书

#pragma DATA_SECTION(capChaACrSpace, \Uint8 capChaACrSpace[360*576];

由于摄像头采用镜像方式成像,摄像头扫描时,先扫描到的是图片的最底端,所以EDMA传输时应将最先采到的数据送入存储区的高地址处。Y采样时,由于每行为720像素,EDMA每次传输的数据单元数应为720字节,即Y目的基地址应为最高地址-720。目的地址按阵列索引更新方式应为,每次目的地址减去720字节的位置。Cb,Cr采样与之类似。 2.8 CCS集成开发环境

CCS(Code Composer Studio)提供了环境配置,源文件编辑,程序调试,跟踪和分析等工具,可以帮助用户在一个软件环境下,完成编译,编译链接,调试和数据分析等工作。CCS可以工作在两种模式下——软件仿真器和与硬件开发板相结合的在线编程。前者可以脱离DSP芯片,在PC机上模拟DSP的工作机制,主要用于前期算法调试。后者实时运行在DSP芯片上。

CCS操作界面如下图,关于CCS的使用,详见参考文献[3],在此不再赘述。

% wav_imfuse.m //

图像融合代码 matlab clear figure

load wbarb X1=X; map1=map; subplot(131);

- 39 -

武汉理工大学课程设计说明书

image(X1); colormap(map1);

title('original image wbarb'); axis ('square');

load woman X2=X; map2=map; for i=1:256

for j=1:256

if(X2(i,j)>100)

- 40 -

武汉理工大学课程设计说明书

X2(i,j)=1.2*X2(i,j); else

- 41 -

武汉理工大学课程设计说明书

X2(i,j)=0.5*X2(i,j); end end end

subplot(132); image(X2); colormap(map2); title('woman'); axis ('square');

[c1,s1]=wavedec2(X1,2,'sym4');

sizec1=size(c1); for i=1:sizec1(2)

- 42 -

武汉理工大学课程设计说明书

c1(i)=1.2*c1(i); end

[c2,s2]=wavedec2(X2,2,'sym4'); 阅读会员限时特惠 7大会员特权立即尝鲜 c=c1+c2; c=0.5*c;

xx=waverec2(c,s1,'sym4');

subplot(133); image(xx); title(' 融合图像 ');

axis ('square');

- 43 -

本文来源:https://www.bwwdw.com/article/xqjw.html

Top