基于MATLAB的图像复原

基于MATLAB的图像复原
基于MATLAB的图像复原

基于MATLAB的图像复原

摘要

随着信息技术的发展,数字图像像已经充斥着人们身边的任意一个角落。由于图像的传送、转换,或者其他原因,可能会造成图像的降质、模糊、变形、质量下降、失真或者其他情况的图像的受损。本设计就针对“图像受损”的问题,在MATLAB环境中实现了利用几何失真校正方法来恢复被损坏的图像。几何失真校正要处理的则是在处理的过程,由于成像系统的非线性,成像后的图像与原图像相比,会产生比例失调,甚至扭曲的图像。

图像复原从理论到实际的操作的实现,不仅能改善图片的视觉效果和保真程度,还有利于后续的图片处理,这对医疗摄像、文物复原、视频监控等领域都具有很重要的意义。

关键字:图像复原;MATLAB;几何失真校正

目录

摘要 (1)

1 MATLAB 6.x 信号处理 (1)

2 图像复原的方法及其应用 (13)

2.1 图像复原的方法 (13)

2.2 图像复原的应用 (14)

3 几何失真校正实现 (15)

3.1 空间变换 (15)

3.1.1 已知()y x r,和()y x s,条件下的几何校正 (16)

3.1.2 ()y x r,和()y x s,未知条件下的几何失真 (16)

3.2 灰度插值 (17)

3.3 结果分析 (19)

参考文献 (20)

附录 (21)

1 MATLAB 6.x信号处理

(1)对MATLAB 6 进行了简介,包括程序设计环境、基本操作、绘图功能、M文件以及MATLAB 6 的稀疏矩阵这五个部分。MATLAB的工作环境有命令窗口、启动平台、工作空间、命令历史记录与当前路径窗口这四部分。M文件的编辑调试环境有四个部分的设置,分别是:Editor/Debugger的参数设置,字体与颜色的设置,显示方式的设置,键盘与缩进的设置。MATLAB采用路径搜索的方法来查找文件系统的M文件,常用的命令文件组在MATLAB文件夹中,其他M文件组在各种工具箱中。基本操作主要是对一些常用的基本常识、矩阵运算及分解、数据分析与统计这三方面进行阐述。MATLAB的基本操作对象时矩阵,所以对于矩阵的输入、复数与复数矩阵、固定变量、获取工作空间信息、函数、帮助命令进行了具体的描述。矩阵运算是MATLAB的基础,所有参与运算的数都被看做为矩阵。MATLAB中共有四大矩阵分解函数:三角分解、正交分解、奇异值分解以及特征值分解。数据分析与统计包括面向列的数据分析、数据预处理、协方差矩阵与相关系数矩阵、曲线拟合这四部分。MATLAB 中含有丰富的图形绘制寒素,包括二维图形绘制、三维图像绘制以及通用绘图工具函数等,同时还包括一些专业绘图函数,因此其具有很强大的绘图功能。简单的二维曲线可以用函数plot来绘制,而简单的三维曲线图则用plot3来绘制。在绘制图形时,MATLAB自动选择坐标轴表示的数值范围,并用一定的数据间隔标记做标注的数据,当然自己也可以指定坐标轴的范围与数据间隔。专业的绘图函数有绘梯度图制条形图、饼图、三维饼图、箭头图、星点图、阶梯图以及等高线。M文件时用户自己通过文本编辑器或字处理器生成的,且其之间可以相互调用,用户可以根据自己的需要,自我编写M文件。M文件从功能上可以分为底稿文件与函数文件两类,其中底稿文件是由一系列MATLAB语句组成的,而函数文件的第一行必须包含关键字“function”,二者的区别在于函数文件可以接受输入参数,并可返回输出参数,而底稿文件不具备参数传递的功能;在函数文件中定义及使用的变量大都是局部变量,只在本函数的工作区内有效,一旦退出该函数,即为无效变量,而底稿文件中定义或使用的变量都是全局变量,在退出文件后仍为有效变量。稀疏矩阵是一种特殊类型的矩阵,

即矩阵中包括较多的零元素。MATLAB对稀疏矩阵的存储有两种模式:完全存储和稀疏存储。函数full和sparse是一对用来对矩阵存储模式进行转换的内部矩阵。函数sparse可以用一组非零元素直接创建一个稀疏矩阵,其格式如下:

S=Sparse(i,j,s,m,n)

其中i和j都为数组,分别代表矩阵中非零元素的行号和列号;s是一个全部元素为非零的数组,元素在矩阵中排列的位置为(i,j);m为输出矩阵的稀疏矩阵的行数,n为输出的稀疏矩阵的列数。函数sparse还有一种格式为:

S=Sparse(i,j,s,m,n,nzmax)

其中,参数i、j、s、m、n的说明与上面的格式相同,参数nzmax用来设置矩阵中非零元素的最大数目。Full函数可以讲稀疏矩阵变为一般矩阵。将一个矩阵的对角线元素保存在一个稀疏矩阵中,可以使用函数spdiags实现,其语法格式为:

S=spdiags(B,d,m,n)

m?的稀疏矩阵S,其非零元素来自矩阵B中的元素且按对角创建一个大小为n

线排列。参数d指定矩阵B中用于生成稀疏矩阵S的对角线位置。矩阵的主对角线可以认为是第0条对角线,每向右移动一条对角线编号加1,向左下移动一条对角线编号减1,也就是说B中j列的元素填充矢量d中第j个元素所指定的对角线。用外部文件创建的文本文件,如果其中的数据按3个列排列,可以将这个文本文件载入工作空间,用于创建一个稀疏矩阵。MATLAB提供了专门针对稀疏矩阵的函数。处理稀疏矩阵时,计算的复杂程度与稀疏矩阵中的非零元素的个数成正比,计算的复杂程度也与矩阵的行列大小有关,稀疏矩阵的乘法、乘方,包含一定次数的线性方程等,都是比较复杂的运算。稀疏矩阵的行交换与列交换可以用以下两种方法表示:

(1)对于交换矩阵P,对稀疏矩阵S的行交换可表示为S

P*,列交换可以表示为P

S*。

(2)对于一个交换矢量p,p为一般矢量,包含1~n个自然数的一个排列。对稀疏矩阵进行行交换,可以表示为S(p,:)。S(p,:)为列交换形式。对于矩阵S的第i列进行行交换的形式为S(p,i)。

稀疏矩阵和一般矩阵一样,同样可以进行LU分解、Cholesky分解、QR

分解以及一些不完全分解。与一般矩阵的特征值求解函数eig 不同的是,计算稀疏矩阵的特征值采用函数eigs 。一般矩阵的奇异值分解用函数svd ,对稀疏矩阵额的奇异值分解使用函数svds 。

第二章对离散信号进行了详尽的阐述,并就其MATLAB 的实现作了总结。典型的离散信号有单位抽样序列、单位阶跃系列、正弦序列、复正弦序列、指数序列、随机序列6种。单位抽样序列的表达式如下:

()???≠==0

001n n n δ (1-1) 又被称为Kronecker 函数,该信号在离散信号与离散系统的分析与综合中有着重要的作用,在MATLAB 中可以利用zeros 函数来实现。如要产生N 点的单位抽样序列,可通过下列语句实现:

()();11;

,1==x N zeros x

单位阶跃序列的表达式如下:

()???<≥=0

001n n n u (1-2) MATLAB 中的ones 函数可以容易实现N 点单位阶跃序列:()N ones x ,1=。 正弦序列的表达式如下:

()()?π+=s fnT A n x 2sin (1-3)

其MATLAB 的实现如下所示:

()

fai T n f pi A x N n s +*****=-=2sin ;1:0 复正弦序列的表达式如下:

()m j e n x ω= (1-4)

其MATLAB 的实现如下所示:

()n w j x N n **=-=exp ;

1:0

指数序列的表达式如下所示:

()n a n x = (1-5)

其MATLAB 的实现如下所示:

;.;

:1n a x N n ∧==

随机序列在MATLAB 中是可以很容易实现的,有以下两类:

(1)rand(1,N)产生[0,1]上均匀分布的随机序列;

(2)randn(1,N)产生均值为0,方差为1的高斯随机序列,也就是白噪声序列,其他的分布的随机数可以通过上述随机数的变换而产生的。

对离散信号所作的基本运算分别是移位、相加、相乘等等,其MATLAB 的实现如下所示:

(1)信号延迟:给定离散信号()n x ,若信号()n y 定义为()()k n x n y -=,那么,()n y 是信号()n x 在时间轴上右移k 个抽样周期得到的新序列。

(2)信号相加:()()()n x n x n x 21+=。值得注意的是,当序列()n x 1和()n x 2的长度不等或位置不对应时,首先应使两者位置对齐,然后通过zeros 函数左右补零使其长度相等后再相加。

(3)信号相乘:()()()n x n x n x 21=,这是样本与样本之间的点乘运算,在MATLAB 中可采用*.来实现,但两序列应做如相加运算同样的操作。序列()n x 1和()n x 2同上,相乘后得到序列()n x 。

(4)信号标量乘:()()n cx n y =,其MATLAB 很容易实现:x c y *=。

(5)信号翻转:()()n x n y -=,在MATLAB 中可以直接用fliplr 函数实现此操作。

(6)信号和:对于N 点信号()n x ,其和的定义为:()()∑==N

n n x n y 1,

采用MATLAB 实现所示:()x sum y =。

(7)信号积:对于N 点信号()n x ,其积的定义为:()()∏==N

n n x n y 1,MATLAB

实现如下所示:()x prod y =。

(8)信号能量:有限长信号的能量定义为:()()()∑∑==*==N n N

n X n x n x n x E 112

,其MATLAB 实现有两种方法:()();.x conj x sum Ex *=或者()()

;2.∧=x abs sum Ex 。

对于[0,1]上均匀分布的随机噪声可以直接利用MATLAB 中的rand 函数实现,均值为0,方差为1的高斯随机噪声即白噪声有函数randn 产生。对于其他分布(如瑞利分布、对数正态分布等)的随机噪声可以通过上述随机数的变换而产生,这些都是噪声的产生方法。MATLAB 中含有丰富的函数用以生产无线电技术以及通讯等领域广泛采用的信号波形,如方波、三角波和线性调频信号等。其中MATLAB 内部提供的产生信号波形的函数有五种,分别是:SAWTOOTH 函数、SQUARE 函数、SINC 函数、DIRIC 函数、CHIRP 函数。

第三章对离散系统的基本概念作了描述,然后对离散系统的时域与频域表示方法以及相应的MATLAB 实现进行了具体的阐述,最后介绍了有关离散系统变换的知识。离散系统的定义是:一个离散系统,可以抽象为一种变换,或是一种映射,即把输入序列()n x 变换为输出序列()n y :()()[]n x T n y =,式中,T 代表变换。这样,一个离散系统既可以是一个硬件装置,也可以是一个数字表达式。离散系统有四个重要定义,分别是:线性、移不变性、因果性、稳定性。线性的定义是:设一个离散系统对()n x 1的响应是()n y 1,对()n x 2的响应是()n y 2,即

()()[]

()()[]n x T n y n x T n y 2211== (1-6)

若该系统对()()n x n x 21βα+的响应()()n y n y 21βα+,即

()()()()[]()[]()[]()()n y n y n x T n x T n x n x T n n y 212121βαβαβα+=+=+= (1-7) 那么,该系统是线性的。

设一个离散系统对()n x 的响应是()n y ,即()()[]n x T n y =。若满足()[]()k n y k n x T -=-,则该系统是移不变的,同时具有线性和移不变的离散系统成为线性移不变系统,简称为LSI 系统。一个LSI 系统,如果它在任意时刻的输出只决定于现在时刻和过去的输入,而与将来的输入无关,那么,该系统是因果系统。稳定性的定义是一个信号()n x ,如果存在一个实数R ,使得对所有的n 都满足()R n x ≤,那么,称()n x 是有界的。对一个LSI 系统,若输入()n x 是有界的,输出()n y 也有界,那么该系统是稳定的。稳定性是一个系统能否正常工作的先决条件。对于同一个离散系统,可以从时域和频域两个方面来进行描述,也可以对其进行内部描述。另外,频域描述又可以分为频率响应、转移

函数、零极点增益与二次分式几种不同的表示形式。一个LSI 系统可以用一个常系数线性差分方程来描述:

()()()()()∑∑==-+--=N k M

r r n x r b n y k a n y 101 (1-8)

式中()() ,0,,,,1,==r r b N k k a ,M 是方程的系数。给定输入信号()n x 以及系统的初始条件,可求出该差分方程的解()n y ,从而得到系统的输出。LSI 系统的频域表示分为频率响应、转移函数、零极点增益、二次分式四部分。频率响应定义是:任意LSI 系统都可由单位抽样响应()n h 表示,相应的在频域中可以用频率响应()

jw e H 来表示,它是()n h 的离散傅里叶变换。若定义jw e z =,则LSI 系统的频率响应变为:()()∑∞-∞=-=n n z n h z H ,该式为单位抽样()n h 的Z 变换,()

z H 是系统的转移函数。将转移函数的分子、分母分别作因式分解,便可得出LSI 系统的零极点增益表示形式:

()()()∏∏==--=N k k

M

r r p z z z g z H 11 (1-9)

式中,g 称为系统的增益因子。使分母多项式等于零的z 值(即

N k p k ,,3,2,1, =)

,称为系统的极点,同理,使分子多项式等于零的z 值(即M r r ,,3,2,1,2 =),称为系统的极点。通过系统的零极点增益表示形式,很容易判断一个LSI 系统的稳定性,也就是说,若所有的极点都位于单位圆内,则系统是稳定的。离散系统的内部描述是用状态方程和输出方程来表示的。离散系统的MATLAB 实现是用函数来实现的,对这些函数进行简要介绍。能产生单位抽样响应的函数有:zeros 函数、filter 函数、impz 函数。零极点增益是用roots 函数来实现的。离散系统变换函数包括:tf2zp 函数、tf2ss 函数、zp2tf 函数、zp2sos 函数、zp2ss 函数、sos2tfz 函数、sos2zp 函数、sos2ss 函数、ss2tf 函数、ss2zp 函数、ss2sos 函数。

第四章对离散傅里叶变换DFT 、Chirp z 变换、离散余弦变换DCT 、Hilbert 变换进行了阐述,并对其进行了MATLAB 仿真。有限长序列()n x 的离散傅里

叶变换公式如下所示:

()()()()???????-≤≤=-≤≤=∑∑-=--=1

01101010N n W k X N n x N k W n x k X N k kn N N n kn N (1-10) 离散傅里叶DFT 的性质有线性、正交性、圆周移位、圆周卷积、共轭对称性5个性质。Z 变换是离散系统与离散信号分析与综合的重要工具。一个离散序列()n x 的z 变换定义为:

()()∑∞-∞=-=

n n z n x z X (1-11)

Z 变换有线性、序列移位、与指数序列相乘、()z X 的微分、复序列的共轭、序列卷积、序列乘积7个特性。Chirp Z 变换即线性调频Z 变换,可用来计算单位圆上任一段曲线上的Z 变换。做DFT 时输入的点数N 和输出点数M 可以不相等,从而达到频域”细化“的目的。序列()n x 的Hilbert 变换是()n x ∧,则()()()()()∑∞-∞=∧+--=

*=m m m n x n h n x n x 12122π,求出()n x ∧,即可构成()n x 的解析信号:()()()n x j n x n z ∧+=,也可以用DFT 求出一个信号()n x 的解析信号及Hilbert 变换,

步骤是:

(1)求()n x 的DFT ()k X ,k=0,1,…,N-1,其中1,,2

-=N N k 对应负数频率。 (2)令()()()1,,2

12,,2,1002-=-==?????=N N k N k k k X k X k Z (3)对()k Z 做逆DFT ,得到()n x 的解析信号()n z 。

(4)由()()()k X j k X k Z ∧+=,得()()()[]n x n z j n x --=∧

Hilbert 变换具有两个性质,分别是:序列()n x 通过Hilbert 变换器后,信号频谱

的幅度不发生变化;序列()n x 与其Hilbert 变换()n x ∧

是正交的。

第五章对IIR 系统、FIR 系统结构、离散系统的Lattice 结构进行了具体描述。一个N 阶IIR 数字滤波器的系统函数可以表示为: ()∑∑=-=-+=N

k k

k M k k k

z a z b z H 10

1 (1-12) 其差分方程为:

()()()∑∑==---=N

k k M k k k n y a k n x b n y 00 (1-13)

无限长单位取样响应IIR 数字滤波器的主要特点是:

(1)单位取样响应是无限长的,即()n h ,∞<<∞n -。

(2)系数函数()z H 在有限平面z 上有极点存在。

(3)结构上存在着输出到输入的反馈网络,即结构式递归的。

实现同一个系统函数()z H ,可以用不同的结构形式,它的主要的结构形式有直接I 型、直接∏型、级联型与并联型四种。有限长单位取样响应FIR 滤波器突出特点是单位取样()n h 仅有有限个非零值,即()n h 为一个N 点序列10-≤≤N n ,其中系统函数为:

()()∑-=-=1

0N n n z n h z H (1-14)

()z H 在Z=0处有N-1阶极点,而没有除Z 平面原点(Z=0)外的极点。FIR 滤波器的结构主要是非递归结构,没有输出反馈。FIR 系统的结构有直接型、级联型两种。 Lattice 结构是一种新的系统结构形式,在功率谱估计、语音处理、自适应滤波等方面已经得到了广泛的应用。这里从零点系统和全极点系统进行讨论。一个M 阶的FIR 系统的转移函数()z H 可写为:

()()()()∑∑=-=-+===M

i i i M M i i

z b z i b z B z H 101 (1-15) 系数()i M b 表示M 阶FIR 系统的第i 个系数。

第六章是用MATLAB 来进行IIR DF (IIR 数字滤波器)的设计。先对数字滤波器进行简介。数字滤波器是数字信号处理的重要基础,在对信号的过滤、检测与参数的估计等信号处理中,数字滤波器是使用最为广泛的一种线性系统。数字滤波器是对数字信号实现滤波的线性是不变系统。设计数字滤波器包括以下几个步骤:

(1)按照实际任务的要求,确定滤波器的性能指标。

(2)用一个因果、稳定的离散线性时不变的系统函数去逼近这一性能指标。根据不同的要求可以用IIR 系统函数,也可以用FIR 系统函数去逼近。

(3)利用有限精度算法实现系统函数,这里包括结构的选择、字长选择等。 设计一个滤波器,重要的是寻找一个稳定、因果的系统函数去逼近滤波器的技术指标。一个也能过、稳定的模拟滤波器的系统函数()s H a 应该满足如下条件:

(1)滤波器的单位冲击响应函数()t h a 应该是一个实函数,即()s H a 是一个具有实系数的s 的有理函数。

(2)()s H a 的极点必须分布在s 平面的左半平面。

(3)()s H a 的分子多项式的阶数必须小于或者等于分母多项式的阶数。

实际上设计模拟原型滤波器是要寻求一个逼近理想低通滤波器的函数,所谓原型低通滤波器是指低通模拟或数字滤波器。模拟低通滤波器的设计方法有:巴特沃斯、切比雪夫和椭圆滤波器。模拟低通巴特沃斯滤波器是以巴特沃斯函数作为滤波器的系统函数,它的幅度平方函数表示为:

()N c a j j j H 22211

???? ??ΩΩ+=Ωε (1-16)

式中的N 为正整数,表示滤波器的阶数。c Ω为通带的截止频率,或()s H a 的3分贝带宽。模拟的低通巴特沃斯滤波器的设计过程包括以下两个过程:

(1)按照给定的通带和阻带指标确定阶数N 。

(2)从幅度平方函数确定系统函数()s H a 。

切比雪夫I 型滤波器在通带内幅度特性是等波纹的,在阻带是单调的,而切比雪夫∏则相反,它在通带内是单调的,在阻带内是等波纹的。切比雪夫滤波器由3个参数需要确定:ε、c Ω和N ,其中c Ω是给定的截止频率,ε由容许的通

带波纹或通带的幅度误差δ确定。椭圆滤波器是采样有限零点设计的滤波器,它能更好的逼近理想的低通滤波器。它的幅度平方函数为:

()()Ω+=Ω22211N

a J j H ε (1-17) 式中的()ΩN J 是雅可比椭圆函数,ε是与通带衰减有关的函数,阶数N 等于通带和阻带内最大点和最小点的总和。脉冲响应不变法的设计原理是使得数字滤波器的单位取样响应序列()n h 模仿模拟滤波器的冲激响应()t h a 。双线性变换化是使得数字滤波器的频率响应模仿模拟滤波器的频率响应模仿模拟滤波器的频率响应的一种方法。这种方法的基本思路是:首先将整个s 平面压缩到1s 平面的一条带宽为T π2(从T π-到T π)的横带里,然后通过标准的变换关系T s e z 1=将横带变换成整个z 平面上去,这便得到s 平面与z 平面之间的一一对应的单值关系。

第七章对有限长单位脉冲响应数字滤波器进行介绍。窗函数在设计FIR 数字滤波器中有很重要的作用,正确的选择窗函数可以提高所设计的数字滤波器的性能,或者在满足设计要求的情况下,减小FIR 数字滤波器的阶数。常见的窗函数有矩形窗、三角窗、布拉克曼窗、汉宁窗、海明窗、凯塞窗、巴特里特窗、切比雪夫窗8种。设计FIR 数字滤波器最简单的方法是窗函数法,通常也称为傅里叶级数法。FIR 滤波器的设计同IIR 数字滤波器的设计一样,首先给

出要求的理想滤波器的频率响应()

ωj d e H ,设计一个FIR 数字滤波器频率响应()ωj e H ,

去逼近理想的频率响应()ωj d e H 。然而窗函数法设计FIR 数字滤波器是在时域进行的,因而必须由理想的频率响应()ω

j d

e H 推导出对应的单位取样响应()n h d ,在设计一个FIR 数字滤波器的单位取样响应()n h 去逼近()n h d 。频率取样法设计FIR 数字滤波器是从频域出发,根据频域的采样定理,对给定的理想滤波器的频率响应()ωj d e H 进行等间隔的采样:

()()()1,,1,0/2-===N k k H e H d N k j d πωω (1-18) 等波纹切比雪夫法是采用最大误差最小准则得到最佳数字滤波器,并且最佳解是唯一的。切比雪夫逼近法设计FIR 数字滤波器的过程是:

(1)规定所需的频率响应()ωj d e H ,加权函数()ωj e W 和滤波器的单位脉冲响应的长度N 。

(2)形成()ωj e P ∧、()ωj e W ∧

和()ωj e P 。 (3)利用雷米兹多重交换算法求解逼近问题。

(4)计算滤波器的单位脉冲响应()n h 。

采用切比雪夫逼近设计方法能够得到既有严格线性相位,又有很好衰减特性的滤波器,因此,切比雪夫逼近法在滤波器设计中占有很重要的位置。

第八章讲述了功率谱估计的问题。功率谱估计方法可以分为经典谱估计和现代谱估法两种,经典谱估计法又可分为直接法和间接法,Bartlett 法和Welch 法是直接法的改进。随机序列()n x 自相关函数估计的两种形式为:

()()()()()()???

????+=+-=∑∑--=*∧--=*∧101011m N n x m N n x m n x n x N m R m n x n x m N m R (1-19) 用FFT 计算自相关函数的一般步骤:

(1)对()n x 补N 个零,得()n x ',对()n x '做DFT 得()k X ',k=0,1,…,2N-1;

(2)求()k X '的幅平方,然后除以N ,得

()21k X N

'; (3)对()21k X N '做逆变换,的()m R x ∧'。 在MATLAB 中,函数xcorr 用来进行自相关函数估计,且为局域上述FFT 的快速算法,其格式为:C=XCORR(A,’flag ’),该函数返回长度为2N-1的自相关序列。AR 模型功率谱估计是现代谱估计的主要内容。AR 模型又称为自回归模型,它是一个全极点的模型,该模型现在的输出时现在的输入和过去输出的加权和。AR 模型谱估计的性质有:AR 谱的平滑特性、AR 谱的分辨率。基于矩阵特征分解的功率谱估计包括特征向量估计与MUSIC 估计,这两种估计方法均为非参数估计方法,特征向量估计主要使用混有白噪声的正弦信号的功率皮估计,而MUSIC 估计适合更为普遍情况下正弦信号参数估计的方法。函数Pmusic 为

MUSIC估计,而函数Peig为特征向量估计。

2 图像复原的方法及其应用

2.1 图像复原的方法

在图像的获取、传输和保存的过程中,由于各种原因,如大气的湍流效应、传感器特性的非线性、成像设备与物体之间的相对运动、摄像设备中光学系统的衍射、胶片颗粒噪声和感光胶卷的非线性、光学系统的像差以及电视摄像扫描的非线性等所引起的几何失真,都可能造成图像的畸变和失真。通常,由于这些因素引起的质量下降称为图像退化[1]。

图像退化的表现是图像出现模糊、失真以及附加噪声等。由于图像的退化,在图像接收端显示的图像已经不再是发送的原始图像,图像的效果明显变差,因此我们可以采用一些技术手段来尽可能的减轻甚至消除图像质量的下降,还原图像的本来面目,这就是图像复原[2]。

图像复原是图像处理领域中一种非常重要的处理技术,与图像增强等其他基本图像处理技术类似,也是以获取视觉质量程度的改善为目的,所不一样的地方是图像复原过程实际上是一个估计的过程,需要根据一些特定的退化模型,对退化图像进行校正。简而言之,图像复原的处理过程就是提升退化图像的质量,并通过图像质量的提高来达到图像在视觉上的改善。

因为引起图像退化的原因很多,且性质各不相同,目前还没有统一的复原方法,许多研究人员根据不同的应用环境,采取了不同的退化模型[3-4]、估计准则和处理技巧,所以得到了各种复原方法。

图像复原的算法是整个技术的核心内容。目前,国内在这方面的研究才刚起步,而国外已经取得了较好的成果。早期的图像恢复是用光学的方法对失真的测试图像进行复原,但是关于数字图像复原技术的研究则是从对天文观测图像的后期处理中才逐渐发展起来的。其中一个成功例子是在1964年,NASA的喷气推进实验室用计算机处理有关月球的照片。照片是用电视摄像机在空间飞行器上拍摄的,图像的复原包括消除噪声和干扰等因素,校正几何失真和对比度损失以及反卷积。另一个典型的例子则是对肯尼迪遇刺事件现场照片的处理。由于事情发生的太突然,照片是在相机移动地过程中拍摄的。图像复原的主要目的就是消除移动造成的失真。还有其在在医学领域,图像复原的技术能广泛

的应用于X光,CT,B超等成像系统,用来抑制各种医学成像系统或图像获取系统的噪声,改善医学图像的分辨率[5]。

现今的复原方法有:维纳滤波、逆滤波、最小二乘滤波、几何失真校正等多种复原方法。随着数信号处理和图像处理的发展,新的复原算法不断出现,不同的复原方法所需的条件是不相同的,所以在应用中可以根据具体情况加以选择。

2.2 图像复原的应用

目前国内外对于图像复原技术的研究和应用主要集中在空间探索、天文观测、物质研究、遥感遥测、军事科学、生物科学、医学影象、刑事侦察、交通监控等领域。如在生物方面,主要是用于生物活体细胞内部组织的三维再现和重构,通过复原荧光显微镜所收集的细胞内部的逐层切片图,来重现细胞内部构成;医学方面,如对肿瘤周围组织进行显微观察,以获取肿瘤安全切缘与癌肿原先部位之间关系的定量数据;天文方面则采用迭代盲反卷积进行气动光学效应图像复原研究等。

3 几何失真校正实现

在图像的获取或者显示的过程中通常会产生几何失真,比如成像系统有一定的几何非线性,其主要原因是视像管摄像机和阴极射线管显示器的扫描偏转系统有一定的非线性,所以会造成图像的枕形失真或桶性失真。另外,由卫星拍摄的地球表面的图像往将往覆盖较大的面积,由于地球表面呈球形,这样拍摄的图像同样会有比较大的几何失真。

几何失真一般分为系统失真和非线性失真。系统失真是有规律的、能预测的;而非线性系统的失真则是随机的。当对图像进行定量分析的时候,就要先对畸变的图像进行准确的几何失真校正[12](即把几何失真的图像校正成与原图像相差无几的图像),以免影响分析精度。基本的方法是:首先,要建立几何校正的数学模型;其次,用已知的条件来确定模型参数;最后,根据畸变模型对图像进行几何校正。通常可以分为以下两步:

(1)图像空间坐标的变换;

(2)确定校正空间各像素的灰度值(灰度内插)。

3.1 空间变换

假设一幅图像为()y x f ,,经过几何失真变成了()v u g ,,其中,()v u ,表示的是失真图像的坐标,而不是原图像的坐标()y x ,。上述变化可表示为:

()y x r u ,= (3-1)

()y x s v ,= (3-2)

这里,()y x r ,和()y x s ,是空间变换,产生了几何失真图像()v u g ,。

若函数()y x r ,和()y x s ,已知,则可以依据一个坐标系统的像素坐标算出另一坐标系统的对应像素的坐标。在已知情况下,通常()y x r ,和()y x s ,可用多项式来近似:

∑∑-=-==101

0N i N j j i ij y x a u (3-3)

∑∑-=-==101

0N i N j j i ij y x b v (3-4)

式中,N 为多项式的次数,ij a 和ij b 为各项系数。

3.1.1 已知()y x r ,和()y x s ,条件下的几何校正

若我们具备先验知识()y x r ,、()y x s ,,则希望将几何畸变图像()v u g ,恢复为基准几何坐标的图像()y x f ,。几何校正通常分为直接和间接两种方法。

(1)直接法。先通过()()???==y x s v y x r u ,,来推出()()

???'='=v u s y v u r x ,,,然后计算每个像素的校正坐标值,保持各像素灰度值不变,然后生成一幅校正图像,但其像素的分布是不太规则的,可能会出现疏密不均、像素挤压等现象。

(2)间接法。假设复原图像的像素在基准坐标系统内是等距网格的交叉点,从网格交叉点的坐标()y x ,出发,可以算出在已知几何畸变图像上的坐标()v u ,,即:

()()()[]y x s y x r v u ,,,,= (3-5)

虽然点()y x ,坐标为整数,但()v u ,一般不为整数,不会刚好就处于畸变图像像素的中心,所以不能直接明确该点的灰度值,而只能由其在几何失真图像的周围像素灰度内插求出,作为对应像素()y x ,的灰度值,据此可以获得校正之后的图像。由于间接法内插灰度比较容易,所以在通常情况下采用的是间接法来进行几何失真校正。

3.1.2 ()y x r ,和()y x s ,未知条件下的几何失真

在这种情况下,通常用原始图像和几何畸变图像上多对“连接点”的坐标来确定()y x r ,和()y x s ,。

假设基准图像像素的空间坐标()y x ,和待校正图像的对应像素的空间坐标()v u ,之间的关系用二元多项式来表示,表达式如下:

()∑∑-=-===101

0,N i N j j i ij y x a y x r u (3-6)

()∑∑-=-===101

0,N i N j j i ij y x b y x s v (3-7)

式中,N 为多项式的次数,ij a 和ij b 为各项待定系数。

对于线性失真:

()y a x a a y x r u 011000,++== (3-8)

()y b x b b y x s v 011000,++== (3-9)

对于一般的(非线性)二次失真:

()xy a y a x a a y x r u 11011000,+++== (3-10)

()xy b y b x b b y x s v 11011000,+++== (3-11)

利用“连接点”建立失真图像与校正图像之间其他像素空间位置的相应关系,而“连接点”在失真图像和校正图像中的位置是精确已知的。失真图像和校正图像中有四边形区域,这两个四边形的顶点就是相应的“连接点”。假定四边形区域中的几何畸变的过程可以用二次失真方程来表示,即:

()xy a y a x a a y x r 11011000,+++= (3-12)

()xy b y b x b b y x s 11011000,+++= (3-13)

将以上两个表达式代入式(3-1)和式(3-2)中,得:

xy a y a x a a u 11011000+++= (3-14)

xy b y b x b b v 11011000+++= (3-15)

因为一共有四对“连接点”,代入式(3-14)和式(3-15)可得8个联立方程,由这些方程可以解出8个系数00a 、10a 、01a 、11a 、00b 、10b 、01b 、11b 。这些系数就可以形成用于变换四边形区域内所有像素的几何失真模型,即空间映射公式。通常来说,可以把一幅图像分割成一系列覆盖全图的四边形区域的集合,在每个区域寻找足够的“连接点”用来计算进行映射所需的系数。

只要有了系数,校正(即复原)图像就不那么困难了。如果想找到非线性失真图像在任一点的()00,y x 的值,需要简单地知道()00,y x f 在失真图像中的什么地方被映射。为此,可以把()00,y x 代入式(3-14)和式(3-15)得到几何失真坐标()00,v u 。在无失真图像中被映射到()00,v u 点的值是()00,v u g 。这样简单地令()()0000,,v u g y x f =∧

,就得到了复原图像的值。 3.2 灰度插值

最简单的灰度灰度插值是最近邻插值(也称为零阶插值),该方法实现起来相对简单,但是有时不够精确,甚至经常产生不希望的认为疵点,如高分辨率图像直边的扭曲;对于通常的图像处理,双线性插值很实用;更完善的技术如样条插值、立方卷积内插等可以得到较平滑的结果,但是更平滑的仿真的代价就是增加计算开销。

在MATLAB[13]软件中生成如图3.1所示的figure图像,然后在figure图像上的失真图像和原始图像上选取九对点,最后依据选取的九对点来进行校正。

图3.1 选取连接点图像

基于MATLAB的图像复原

基于MATLAB的图像复原 摘要 随着信息技术的发展,数字图像像已经充斥着人们身边的任意一个角落。由于图像的传送、转换,或者其他原因,可能会造成图像的降质、模糊、变形、质量下降、失真或者其他情况的图像的受损。本设计就针对“图像受损”的问题,在MATLAB环境中实现了利用几何失真校正方法来恢复被损坏的图像。几何失真校正要处理的则是在处理的过程,由于成像系统的非线性,成像后的图像与原图像相比,会产生比例失调,甚至扭曲的图像。 图像复原从理论到实际的操作的实现,不仅能改善图片的视觉效果和保真程度,还有利于后续的图片处理,这对医疗摄像、文物复原、视频监控等领域都具有很重要的意义。 关键字:图像复原;MATLAB;几何失真校正

目录 摘要 (1) 1 MATLAB 6.x 信号处理 (1) 2 图像复原的方法及其应用 (13) 2.1 图像复原的方法 (13) 2.2 图像复原的应用 (14) 3 几何失真校正实现 (15) 3.1 空间变换 (15) 3.1.1 已知()y x r,和()y x s,条件下的几何校正 (16) 3.1.2 ()y x r,和()y x s,未知条件下的几何失真 (16) 3.2 灰度插值 (17) 3.3 结果分析 (19) 参考文献 (20) 附录 (21)

1 MATLAB 6.x信号处理 (1)对MATLAB 6 进行了简介,包括程序设计环境、基本操作、绘图功能、M文件以及MATLAB 6 的稀疏矩阵这五个部分。MATLAB的工作环境有命令窗口、启动平台、工作空间、命令历史记录与当前路径窗口这四部分。M文件的编辑调试环境有四个部分的设置,分别是:Editor/Debugger的参数设置,字体与颜色的设置,显示方式的设置,键盘与缩进的设置。MATLAB采用路径搜索的方法来查找文件系统的M文件,常用的命令文件组在MATLAB文件夹中,其他M文件组在各种工具箱中。基本操作主要是对一些常用的基本常识、矩阵运算及分解、数据分析与统计这三方面进行阐述。MATLAB的基本操作对象时矩阵,所以对于矩阵的输入、复数与复数矩阵、固定变量、获取工作空间信息、函数、帮助命令进行了具体的描述。矩阵运算是MATLAB的基础,所有参与运算的数都被看做为矩阵。MATLAB中共有四大矩阵分解函数:三角分解、正交分解、奇异值分解以及特征值分解。数据分析与统计包括面向列的数据分析、数据预处理、协方差矩阵与相关系数矩阵、曲线拟合这四部分。MATLAB 中含有丰富的图形绘制寒素,包括二维图形绘制、三维图像绘制以及通用绘图工具函数等,同时还包括一些专业绘图函数,因此其具有很强大的绘图功能。简单的二维曲线可以用函数plot来绘制,而简单的三维曲线图则用plot3来绘制。在绘制图形时,MATLAB自动选择坐标轴表示的数值范围,并用一定的数据间隔标记做标注的数据,当然自己也可以指定坐标轴的范围与数据间隔。专业的绘图函数有绘梯度图制条形图、饼图、三维饼图、箭头图、星点图、阶梯图以及等高线。M文件时用户自己通过文本编辑器或字处理器生成的,且其之间可以相互调用,用户可以根据自己的需要,自我编写M文件。M文件从功能上可以分为底稿文件与函数文件两类,其中底稿文件是由一系列MATLAB语句组成的,而函数文件的第一行必须包含关键字“function”,二者的区别在于函数文件可以接受输入参数,并可返回输出参数,而底稿文件不具备参数传递的功能;在函数文件中定义及使用的变量大都是局部变量,只在本函数的工作区内有效,一旦退出该函数,即为无效变量,而底稿文件中定义或使用的变量都是全局变量,在退出文件后仍为有效变量。稀疏矩阵是一种特殊类型的矩阵,

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要.......................................................................................................................... 错误!未定义书签。 1 MATLAB简介 ........................................................................................................ 错误!未定义书签。2图像选择及变换................................................................................................... 错误!未定义书签。 2.1 原始图像选择读取....................................................................................... 错误!未定义书签。 2.1.1 原理图的读入与基本变换 .................................................................... 错误!未定义书签。

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

基于MATLAB的图像恢复算法研究

中北大学 课程设计说明书 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 学院:信息商务学院 专业:电子信息工程 题目:信息处理综合实践: 基于MATLAB的图像恢复算法研究 指导教师:职称: 年月日

中北大学 课程设计任务书 13/14 学年第一学期 学院:信息商务学院 专业:电子信息工程 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 课程设计题目:信息处理综合实践: 于MATLAB的图像恢复算法研究起迄日期: 课程设计地点:电子信息科学与技术专业实验室 指导教师: 系主任: 下达任务书日期: 年月日

目录 摘要: (6) 1.图像复原的概念 (6) 1.1图像复原的定义 (6) 1.2 图象恢复与图象增强的异同 (6) 1.3 图象退化的原因 (6) 1.4 维纳滤波的研究历史 (6) 1.5图象退化举例 (7) 2.退化模型 (8) 2.1图象退化模型概述 (8) 2.2连续函数退化模型 (8) 2.3离散函数退化模型 (8) 3.图象复原技术 (9) 3.1无约束恢复 (9) 3.2逆滤波 (9) 3.3 维纳(Wiener)滤波器基本原理 (10) 3.4维纳滤波复原法 (11) 3.5图像复原例图 (12) 4.图像复原的MATLAB实现实例 (13) 5.结束语 (14) 参考文献: (14) 附录: (14) (1).维纳滤波复原源代码: (14) (2).规则化滤波复原程序源代码: (15) (3).Lucy-Richardson复原滤波源代码: (15) (4).盲目去卷积复原源代码: (15)

摘要: 图像复原是图象处理的一个重要课题。图像复原也称图象恢复,是图象 处理中的一大类技术。它的主要目的是改善给定的图像质量。当给定了一幅 退化了的或者受到噪声污染了的图像后,利用退化现象的某种先验知识来重 建或恢复原有图像是复原处理的基本过程。可能的退化有光学系统中的衍 射,传感器非线性畸变,光学系统的像差,摄影胶片的非线性,大气湍流的 扰动效应,图像运动造成的模糊及几何畸变等等。噪声干扰可以由电子成像 系统传感器、信号传输过程或者胶片颗粒性造成。各种退化图像的复原都 可归结为一种过程,具体地说就是把退化模型化,并且采用相反的过程进行 处理,以便恢复出原图像。文章介绍了图象退化的原因,几种常用的图像滤 波复原技术,以及用MATLAB实现图像复原的方法。 1.图像复原的概念 1.1图像复原的定义 图像复原也称图象恢复,是图象处理中的一大类技术。所谓图像复原,是指去除或减轻在获取数字图像过程中发生的图像质量下降(退化)这些退化包括由光学系统、运动等等造成图像的模糊,以及源自电路和光度学因素的噪声。图像复原的目标是对退化的图像进行处理,使它趋向于复原成没有退化的理想图像。成像过程的每一个环节(透镜,感光片,数字化等等)都会引起退化。在进行图像复原时,既可以用连续数学,也可以用离散数学进行处理。其次,处理既可在空间域,也可在频域进行。 1.2 图象恢复与图象增强的异同 相同点:改进输入图像的视觉质量。 不同点:图象增强目的是取得较好的视觉结果(不考虑退化原因);图象恢复根据相应的退化模型和知识重建或恢复原始的图像(考虑退化原因)。 1.3 图象退化的原因 图象退化指由场景得到的图像没能完全地反映场景的真实内容,产生了失真等问题。其原因是多方面的。如: 透镜象差/色差 聚焦不准(失焦,限制了图像锐度) 模糊(限制频谱宽度) 噪声(是一个统计过程) 抖动(机械、电子) 1.4 维纳滤波的研究历史 维纳是著名的数学家,后来被誉为信息理论家。维纳的著作不仅是一个很好的创见,而且具有结合工程的实际意义,是线性滤波理论研究的一个重要的开端. 在第二次世界大战中,由于雷达的发明以及防空炮火控制的任务,把大量有修养的数学家和物理学家都动员到信息科学这个研究领域中来了,这个时候人们活跃于这个领域,并有许多重大的科学创造。数学家维纳对于滤波理论的研究成果,就是这时候重大的科学创见之一。

基于MATLAB的运动模糊图像处理

基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题,并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1(a)所示的原始图像‘车牌’图像做方向θ=30?,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b)

1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF 模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化

MATLAB实现图像恢复设计报告

MATLAB实现图像恢复设计报告 一、设计目标及需求分析 设计目标:希望通过matlab设计一个软件来实现对CT图像的模糊再恢复的过程,是对现实中CT图像复原的一个简单仿真。 需求分析:随着网络和通信技术的发展,数字图像处理与分析技术已经在科学研究、工业生产、医疗卫生、教育等领域得到了广泛应用,对推动社会的发展和提高人们的生活水平都起到了重要作用[1]。而在医学CT影像中,CT图像的影响因素众多,包括部分容积效应,空间分辨力,密度分辨力,相机条件设定和噪声等[2]。这些因素会造成CT 图像模糊失真,需要对图像进行恢复,才能满足对临床诊断的要求。 二、设计概要 图像退化 三、详细设计 在GUI界面设计中选取三个静态文本分别叫“原始图像”、“模糊加噪图像”、“恢复图像”,添加三个坐标轴,三个按钮分别用于“读入原始图像”、“模糊和加噪”、“恢复”。 图一 GUI界面设计

①点击按钮“读入图像”,将选取的原始肺部CT图像导入第一个坐标轴中。 ②点击按钮“模糊和加噪”,对原始CT图像进行运动模糊,加入高斯噪声,生成的图像显示在第二个坐标轴中。 图二模糊和加噪 在这里用MATLAB图像处理工具函数fspecial生成了一个运动模糊的点扩展函数PSF,PSF 再与原图卷积得到模糊图像,这一步操作是为了模拟现实CT图像中由于病人身体的移动,心脏搏动和胃肠蠕动这些不自主的运动造成的伪影。在CT图像中的噪声有多种类型,有高斯噪声,椒盐噪声,泊松噪声,斑点噪声等。这里只引入了高斯噪声是由于通过查阅文献得知,CT图像中的噪声主要是高斯噪声[3],是一个抽象简化的退化模型。 ③点击按钮“恢复”,对模糊和加噪的图像进行图像复原,将复原后的图像显示在第三个坐标轴上。

基于matlab数字图像处理与识别系统含程序

目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (4) 1.5 论文的内容及组织 (5) 第二章图像处理的Matlab实现 (6) 2.1 Matlab简介 (6) 2.2 数字图像处理及过程 (6) 2.2.1图像处理的基本操作 (6) 2.2.2图像类型的转换 (7) 2.2.3图像增强 (7) 2.2.4边缘检测 (8) 2.3图像处理功能的Matlab实现实例 (8) 2.4 本章小结 (11) 第三章人脸图像识别计算机系统 (11) 3.1 引言 (11) 3.2系统基本机构 (12) 3.3 人脸检测定位算法 (13) 3.4 人脸图像的预处理 (18) 3.4.1 仿真系统中实现的人脸图像预处理方法 (19) 第四章基于直方图的人脸识别实现 (21) 4.1识别理论 (21) 4.2 人脸识别的matlab实现 (21) 4.3 本章小结 (22) 第五章总结 (22) 致谢 (23) 参考文献 (24) 附录 (25)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,

基于MATLAB的运动模糊图像恢复技术

基于MATLAB的运动模糊图像恢复技术 王洪珏 (温州医学院,浙江,温州) 摘要:MATLAB是当今流行的科学计算软件,它具有很强的数据处理能力。在其图像处理工具箱中有四个图像复原函数,本文就这些函数的算法原理、运用和恢复处理效果结合实力效果作简要对比讨论。 0前言 图像复原时图像处理中一个重要的研究课题。图像在形成、传输和记录的过程中,由于传感器的噪声、摄像机未对好焦、摄像机与物体相对运动、系统误差、畸变、噪声等因素的影响,使图像往往不是真实景物的完善影像。这种图像在形成、传输和记录过程中,由于成像系统、传输介质和设备的不完善,使图像质量下降的过程称为图像的退化。图像复原就是通过计算机处理,对质量下降的图像加以重建或恢复的过程。 图像复原过程一般为:找退化原因→建立退化模型→反向推演→图像复原 1算法产生概述 开发算法时,首先要创建图像退化的线性数学模型,接着选择准则函数,并以适当的数学形式表达,然后进行数学推演。推演过程中通常要进行表达形式(即空域形式、频域形式、矩阵-矢量形式或变换域形式)的相互转换,最后得到图像复原算式。 退化数学模型的空域、频域、矢量-矩阵表达形式分别是: g(x,y)=d(x,y)*f(x,y)+n(x,y) G(u,v)=D(u,v)〃F(u,v)+N(u,v) g=HF+n 其中:g(x,y)、d(x,y)、f(x,y)、n(x,y)分别为观测的退化图像、模糊函数、原图像、加性噪声,*为卷积运算符,(x=0,1,2,…,M-1),(y=0,1,2,…,N-1)。 2运动模糊的产生 景物与相机之间的相对运动通常会使相机所成的像存在运动模糊。对于线性移不变模糊,退化图像u0可以写成,u0=h*u+n,其中h为模糊核,*表示卷积,n为加性噪声。 由du/dt=0,文献[5]将这种运动模糊过程描述为波动方程:

基于Matlab的遥感图像处理

基于Matlab的遥感图像处理 测绘工程1161641014 鲍家顺 摘要文章运用Matlab软件对遥感影像的不足之处进行处理改善,详细介绍了处理方法和处理的原理,对处理结果进行了比对分析,并进行了边缘检测与特征提取,论证了处理方法的可行性。 关键词图像处理;matlab ;均衡化;规定化;色彩平衡;边缘检测;特征提取 在获取遥感图像过程中,由于多种因素的影响,会导致图像质量的退化,为了改善图像质量,突出遥感图像中的某些信息,提高图像的视觉效果,需要对图像进行各方面的处理,如分段线形拉伸,对数变换,直方图规定化、正态化,图像滤波,纹理分析及目标检测等。通过图像处理可以去除图像中的噪声,增强感兴趣的目标和周围背景图像间的反差,有选择地突出便于人或电脑分析的信息,抑制一些无用的信息,强调出图像的边缘,增强图像的识别方便性,从而进行边缘检测和特征提取。图像写出函数,显示图像函数有image ( ) 、inshow ( ) 等。[2 ]Matlab 图像处理工具箱处理工具提供了imhist () 函数来计算和显示图像的直方图, 提供了直方图均衡化的函数histeq() 、边缘检测函数edge ( ) 、腐蚀函数imerode () 、膨胀函数imdilate () 及二值图像转换函数im2bw () 等。文中实验数据采用的是桂林市区灰度遥感图像,宽度为1024 像素,高度为713 像素。 文件读入: 讲workspace切入到图片所在图层: Cd d:\ 读入图片: [x,cmap]=imread('m.PNG'); %将图片读入转换为矩阵 clf;imshow(x); %显示图片 原始图片

基于MATLAB图像复原论文

学号: 基于MATLAB 的离焦模糊图像复原 学院名称: 计算机与信息技术学院 专业名称: 通信工程 年级班别: 2008级1班 姓 名: 指导教师: 2012年5月 XXXX 学校 本科毕业设计

基于MATLAB的离焦模糊图像复原 摘要图像在获取、传输和存储过程中会受到如模糊、失真、噪声等原因的影响,这些原因会使图像的质量下降。因此,我们需要采取一定的方法尽可能地减少或消除图像质量的下降,恢复图像的本来面目,这称为图像复原。通过阅读图像复原技术相关资料,本文主要探讨了维纳(Wiener)滤波、约束最小二乘滤波算法、Lucy-Richardson算法和盲解卷积算法,并使用相关的工具箱函数deconvwnr函数、deconvreg函数、deconvlucy函数、deconvblind函数进行仿真。另外本文对上述算法进行了仿真实现,并分析了四种算法的实验结果。 关键词图像复原;维纳滤波恢复;约束最小二乘滤波恢复;Lucy-Richardson恢复;盲解卷积恢复 Based on the MATLAB of defocus blurred image restoration Abstract Image in the acquisition, transmission and storage process will be subject to such as blurring, distortion, noise and other reasons, these reasons will make the image quality degradation.Therefore, we needed to take a certain amount of ways to reduce or eliminate image quality to fall, to restore the image of self, this is known as image restoration. By reading the image restoration technology related data. This paper mainly discusses the Wiener filter, constrained least squares filtering algorithm, Lucy-Richardson algorithm and blind deconvolution algorithm,and the deconvwnr function,the deconvreg function ,the deconvlucy function and the deconvblind function are used for emulation.This article on the above algorithm to simulation and experimental result analysis of four kinds of algorithms. Keywords image restoration; Wiener filtering restore; Constrained least squares filtering restore; Lucy-Richardson recovery; Blind solution convolution recovery

基于MATLAB的图像处理的基本运算

基于MATLAB的图像处理的基本运算

————————————————————————————————作者:————————————————————————————————日期:

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存, 比较几种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要..................................................................................................................................................... - 2 -1 MATLAB简介 ................................................................................................................................... - 2 -2图像选择及变换.............................................................................................................................. - 3 -2.1 原始图像选择读取.................................................................................................................. - 3 - 2.1.1 原理图的读入与基本变换 ............................................................................................... - 3 - 2.1.2 程序源代码及调试结果 ................................................................................................... - 4 - 2.2 转换图像为灰阶图像.............................................................................................................. - 5 - 3 图像处理及代码程序 ..................................................................................................................... - 6 -3.1 图像亮度对比度调整.............................................................................................................. - 6 - 3.1.1 函数说明及参数选择....................................................................................................... - 6 - 3.1.2 源程序及运行结果........................................................................................................... - 6 -3.2 图像放大和缩小...................................................................................................................... - 7 - 3.2.1 函数说明及参数选择....................................................................................................... - 7 - 3.2.2 源程序及运行结果........................................................................................................... - 7 -3.3 图像任意角度的旋转.............................................................................................................. - 8 - 3.3.1 函数说明及参数旋转....................................................................................................... - 8 - 3.3.2 源程序及运行结果........................................................................................................... - 9 -3.4图像直方图统计和均衡........................................................................................................... - 9 - 3.4.1 函数说明及参数选择....................................................................................................... - 9 - 3.4.2 源程序及运行结果......................................................................................................... - 10 -3.5 图像加入噪声........................................................................................................................ - 11 - 3.5.1 函数说明及参数选择..................................................................................................... - 11 - 3.5.2 源程序及运行结果......................................................................................................... - 12 - 4 图像处理结果比较分析 ............................................................................................................... - 14 -4.1 调整对比度和亮度后图像比较 ............................................................................................ - 14 -4.2 图像放大缩小及旋转后比较 ................................................................................................ - 14 -4.3 进行直方图均衡后图像比较 ................................................................................................ - 1 5 -4.4加入各种噪声后图像比较 ..................................................................................................... - 1 6 -5感悟体会小结................................................................................................................................ - 16 -参考文献........................................................................................................................................... - 1 7 -

基于matlab的数字图像处理

基于MATLAB数字图像处理 题目 MATLAB中集成了功能强大的图像处理工具箱,可以通过不同的算法对图像进行不同的处理,更加精确的对图像进行变换和更改,进一步提高了人们对图像处理的能力和认识。通过用户自定义界面将简洁的界面与MATLAB程序结合起来,方便操作与应用。 1 功能介绍 本程序是一个简单的图像处理程序,使用MATLAB软件编写完成。主要具有灰度转换、亮度处理、显示频谱、左右翻转、上下翻转、向左旋转90度、向右旋转90度、任意角度旋转、保存等功能,并通过图形化交互界面(GUI)进行程序使用的交互。交互界面如图1. 图1 程序的交互界面 2 功能实现 程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。 程序使用的流程:图像输入—> 灰度转换(可选)—> 亮度处理(可选)—>显示频谱图(可选)—>左右翻转(可选)—>上下翻转(可选)—>向左旋转90度(可选)—>向右旋转90度(可选)—>任意角度旋转(可选)—>保存(可选)。

备注:软件版本:MATLAB R2010b 2.1 获得图像文件 图形获取的过程,下面是图像获取界面和获取后的效果图。 界面图 效果图 具体代码参见:function pushbutton1_Callback(hObject, eventdata, handles) 2.2 灰度转换过程 主要包括对原图片灰度转换及显示。

通过灰度转换按钮,将源程序链接到图片。具体程序如下: function pushbutton2_Callback(hObject, eventdata, handles) axes(handles.axes2); if isrgb(handles.img) y=rgb2gray(handles.img); %RGB?????????? imshow(y); else msgbox('这已经是灰度图像','转换失败'); end 2.3 亮度处理过程 在已获得图片的基础上,再进亮度处理的选择。亮度提供输入选项如下: 处理后结果:

基于Matlab基本图像处理程序

图像读入 从图形文件中读入图像imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt: 指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件 ,会尝试查找一个名为filename.fmt的文件。 A :包含图像矩阵的矩阵。对于灰度图像,它是一个M 行 N 列的矩阵。如果文件包含RG B 真彩图像 ,则是 m*n*3的矩阵。 对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP :颜色索引表 图像的显示 imshow函数:显示工作区或图像文件中的图像 Syntax : imshow(I)%I 是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...)%I 是要现实的灰度图像矩阵,指 定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map)%map颜色索引表 imshow(filename) himage = imshow(...)

操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图( Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图( Image Histogram):是表示数字图像中亮度分布的直方图, 用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概 率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像 素在图像中出现的概率。 图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。 图像的灰度直方图运算:imhist() 函数,其横坐标表示像素的灰度级别,纵坐标为 像素点的个数。 Imhist函数 =Display histogram of image data显示灰度直方图的函数 Syntax: ①imhist(I) ②imhist(I, n)% I 为要计算的灰度直方图图像 % n 指定的灰度级的数目,表示所有灰度级均匀分布在n 个小区间

基于MATLAB的图像处理的课程设计

MATLAB GUI 设计 目录 一、课程设计目的 (3) 二、课程设计要求 (3) 三、课程设计的内容 (3) 四、题目分析 (3) 五、总体设计 (4) 六、具体设计 (5) 6.1、文件 (5) 6.1.1、打开 (5) 6.1.2、保存 (5) 6.1.3、退出 (5) 6.2、编辑 (5) 6.2.1、灰度 (5) 6.2.2、亮度 (6) 6.2.3、截图 (7) 6.2.4、缩放 (7) 6.3、旋转 (9) 6.3.1、上下翻转 (9) 6.3.2、左右翻转 (9) 6.3.3任意角度翻转 (9) 6.4、噪声 (10) 6.5、滤波 (10) 6.6、直方图统计 (11) 6.7、频谱分析 (12) 6.7.1、频谱图 (12) 6.7.2、通过高通滤波器........................... .. (12) 6.7.3、通过低通滤波器...................................... . (13) 6.8、灰度图像处理................................................ . . (14) 6.8.1、二值图像……………………………………………….. .14 6.8.2、创建索引图像............................................. (14) 6.9、颜色模型转换 (14) 6.10、操作界面设计 (15) 七、程序调试及结果分析 (15) 八、心得体会 (16) 九、参考文献 (17) 十、附录 (18)

基于MATLAB的图像处理的课程设计 摘要: 数字图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。 关键词:MATLAB,数字图像处理 一、课程设计目的 综合运用MATLAB工具箱实现图像处理的GUI程序设计。 二、课程设计要求 1)熟悉和掌握MA TLAB 程序设计方法 2)掌握MATLAB GUI 程序设计 3)学习和熟悉MA TLAB图像处理工具箱 4)学会运用MATLAB工具箱对图像进行处理和分析 三、课程设计的内容 学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 以下几点是程序必须实现的功能。 1)图像的读取和保存。 2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。 3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。 4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。 5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。 四、题目分析 信息化社会中,计算机在各种信息处理中发挥着重要的作用。我们可以借助计算机,对数字图像进行处理,以达到不同的效果。根据题目的要求,除了实现要求的功能外,还有

相关文档
最新文档