基于MATLAB的模糊图像的复原方法探究
Matlab中的图像复原与增强方法研究

Matlab中的图像复原与增强方法研究图像复原与增强是数字图像处理领域中常见的技术。
Matlab作为一种强大的数学计算和图像处理工具,提供了各种图像复原与增强方法的函数和算法。
本文将探讨Matlab中的图像复原与增强方法,包括去噪、锐化、对比度增强等几个方面。
一、去噪图像中的噪声往往是由于图像采集或传输过程中引入的干扰引起的。
去噪是图像复原的重要步骤,可以提高图像质量和信息的可读性。
在Matlab中,有几种常见的去噪方法,其中最常用的是中值滤波和均值滤波。
中值滤波通过计算像素周围窗口内像素的中值来取代当前像素的值,从而达到去除噪声的目的。
均值滤波则是通过计算像素周围窗口内像素的平均值来取代当前像素的值。
这两种方法都能有效地去除图像中的高斯噪声和椒盐噪声。
除了中值滤波和均值滤波,Matlab还提供了其他一些高级的去噪方法,如小波降噪和自适应滤波。
小波降噪利用小波变换将噪声和信号分离,然后通过对噪声系数进行修正来恢复原始信号。
自适应滤波则是根据图像的局部特征来自适应地选择滤波器的参数,从而达到去噪的效果。
二、锐化图像锐化是指增强图像边缘和细节,使图像更加清晰和鲜明。
在Matlab中,常用的图像锐化方法有高通滤波和梯度算子。
高通滤波是通过去除图像的低频分量来提升高频分量,从而增强图像的细节。
常见的高通滤波器包括拉普拉斯滤波和差分滤波器。
拉普拉斯滤波器通过计算像素周围邻域的差分来增强图像的边缘。
差分滤波器则是通过计算像素的水平和垂直差分来增强图像的细节。
梯度算子是一种基于图像梯度的锐化方法,常见的梯度算子有索贝尔算子和普瑞维特算子。
索贝尔算子通过计算水平和垂直方向上的梯度来增强图像的边缘。
普瑞维特算子则是通过计算像素周围邻域的差分和梯度来增强图像的细节。
三、对比度增强对比度是指图像中亮度变化范围的大小,对比度增强可以使图像更加清晰和鲜明。
在Matlab中,有几种方法可以对图像进行对比度增强,包括直方图均衡化和自适应直方图均衡化。
在Matlab中进行图像重建和图像恢复的技术

在Matlab中进行图像重建和图像恢复的技术图像重建和图像恢复是数字图像处理领域的重要研究方向。
在Matlab这一强大的工具中,提供了丰富的图像处理函数和算法,使得图像重建和恢复变得更加高效和精确。
本文将介绍在Matlab中进行图像重建和图像恢复的一些常用技术。
一、图像重建的概念和方法图像重建指的是从已损坏或丢失部分信息的图像中恢复出尽可能完整的图像。
常见的图像损坏包括噪声、模糊以及缺失等。
在图像重建中,常用的方法包括逆滤波、维纳滤波、最小二乘法等。
1. 逆滤波逆滤波是一种常见的图像重建方法,其思想是通过求解逆滤波算子来反转图像损坏过程,以实现图像的重建。
在Matlab中,可以使用fft2函数将图像转换到频域进行处理,然后使用ifft2函数将图像转回到空域。
2. 维纳滤波维纳滤波是一种优化的图像重建方法,它考虑了噪声对图像重建的影响。
在Matlab中,可以使用维纳滤波函数wiener2对图像进行恢复。
该函数可以根据图像的噪声方差和信噪比自动调整滤波参数,使得图像的重建效果更好。
3. 最小二乘法最小二乘法也是一种常用的图像重建方法,它通过优化目标函数来求解最优重建结果。
在Matlab中,可以使用lsqnonneg函数进行最小二乘法拟合。
该函数能够在给定约束条件下求解非负解,并适用于一些不完全观测的图像重建问题。
二、图像恢复的概念和方法图像恢复是指在已损坏或丢失部分信息的图像中重建出尽可能高质量的图像。
与图像重建不同,图像恢复更加关注图像质量的提升。
常见的图像损坏包括噪声、模糊以及失真等。
在Matlab中,提供了很多图像恢复的函数和算法,如图像增强、去噪以及去模糊等。
1. 图像增强图像增强是一种常用的图像恢复方法,其目的是使图像在视觉上更加清晰、丰富和易于分析。
在Matlab中,可以使用imadjust函数对图像进行亮度和对比度调整,以达到图像增强的效果。
此外,还可以使用imsharpen函数对图像进行锐化处理,以提高图像的清晰度。
Matlab中的模糊图像恢复与图像重建技术详解

Matlab中的模糊图像恢复与图像重建技术详解引言:随着数码相机、移动设备以及各种图像处理软件的普及,人们对图像质量要求越来越高。
然而,在图像获取和传输过程中,由于种种原因,图像可能会变得模糊,失真或损坏。
为了解决这些问题,图像恢复和重建技术应运而生。
本文将详细介绍基于Matlab的模糊图像恢复与图像重建技术。
一、图像模糊恢复技术1. 模糊图像的概念和原因模糊图像是指由于摄像机移动、图像采集设备问题、环境光线等因素而导致图像失真的现象。
图像模糊会降低图像的细节和清晰度,使得图像难以辨认和识别。
常见的模糊原因有运动模糊、焦距模糊、镜头畸变等。
2. 模糊图像恢复方法为了恢复模糊图像的清晰度和细节,研究人员提出了各种方法。
其中,基于傅里叶变换的频域滤波是最常用的方法之一。
该方法通过将模糊图像转换到频域,应用适当的频域滤波器来消除模糊效果。
Matlab提供了丰富的函数和工具箱来实现这些滤波方法,比如利用低通滤波器恢复运动模糊图像。
另外,基于对图像恢复的数学建模和优化算法也是常用的方法。
例如,最小二乘法、最小化总变差等。
3. Matlab中的模糊图像恢复函数Matlab提供了多种函数用于模糊图像恢复。
其中,`deconvwnr`函数可以用于模糊图像的逆滤波处理。
该函数通过对图像进行频域滤波,去除模糊效果。
另外,`deconvblind`函数可以用于盲去卷积处理,即对图像进行反卷积操作以恢复图像细节。
二、图像重建技术1. 图像重建的意义和应用图像重建指的是利用已有的图像信息来还原、修复或生成新的图像。
与图像恢复类似,图像重建技术对于改善图像质量、还原损坏图像、生成虚拟图像等方面有着重要的应用。
图像重建技术在医学影像、图像压缩和增强、虚拟现实等领域都有广泛的应用。
2. 图像重建算法在Matlab中,图像重建可以通过多种算法实现。
其中一种常用的算法是基于插值的图像重建方法。
该方法通过对已有图像的像素进行插值来生成新的图像。
matlab模糊图像恢复数字图像处理

实验六 模糊图像恢复一、实验目的本实验是一个综合性实验,要求学生巩固学习多个知识点和内容,主要有: 1、理解掌握运动图像的退化模型; 2、掌握维纳滤波法的原理和实现方法;3、在不同的噪声和点扩散函数参数下进行恢复,并比较结果;4、通过分析和实验得出相应的结论。
二、实验准备1、运动模糊退化模型:运动模糊是图像退化的一种,可以用数学表达式刻画出来。
对线性移(空)不变系统,退化模型可表示为:g(x,y)=h(x,y)*f(x,y)+n(x,y)。
对匀速直线运动而言,退化图像为:()()()[]⎰--=Tdt t y y t x x f y x g 000,,其中x 0(t)和y 0(t)分别表示x 和y 方向的运动分量。
并假设退化系统是线性移不变的,光学成像过程是完善的,快门开关是瞬间完成的。
对上式进行傅立叶变换,则得频域表达式为()()()[]()()[]()[]()()()[]{}),(),(2exp ,2exp ,2exp ,,000000v u H v u F dt t vy t ux j v u F dtdxdy vy ux j t y y t x x f dxdy vy ux j y x g v u G T T=+-=⎥⎥⎦⎤⎢⎢⎣⎡+---=+-=⎰⎰⎰⎰⎰⎰+∞∞-+∞∞-+∞∞-+∞∞-πππ 其中()()()[]{}dt t vy t ux j v u H T⎰+-=0002exp ,π假设景物只在x 方向匀速运动,在T 时间内共移动距离是a ,即x 0(t)=at/T ,y 0(t)=0,则()()[]ua j ua ua T dt T at uj v u H Tππππ-=⎥⎦⎤⎢⎣⎡-=⎰exp sin 2exp ,0 在Matlab 中可用滤波器卷积的方法仿真出运动模糊图像。
h=fspecial(‘motion ’,len,theta),表示在theta 方向移动len 长度,产生运动模糊的点扩散函数h 。
Matlab中的模糊图像处理和图像模糊恢复技术

Matlab中的模糊图像处理和图像模糊恢复技术随着数字图像的广泛应用和发展,图像模糊成为一个重要的问题。
由于摄像器材或传输媒介等方面的限制,图像的清晰度可能受到一定程度的影响,导致图像模糊。
在实际应用中,图像的模糊问题会给图像解析、目标跟踪、计算机视觉等许多领域带来困扰。
为了改善模糊图像的质量,并解决图像模糊问题,Matlab提供了一系列的模糊图像处理和图像模糊恢复技术。
一、图像模糊的产生原因图像模糊一般是由光学系统的缺陷、运动物体、相机抖动等因素引起的。
光学系统的缺陷包括镜头的失真、散射、衍射等;运动物体指的是图像中的物体在拍摄过程中出现运动造成模糊;相机抖动是由于相机本身的不稳定性或者手持摄影造成的。
二、模糊图像处理的方法1.滤波方法滤波方法是最基本也是最常用的图像模糊处理方法。
在Matlab中,可以使用各种滤波器对图像进行处理,例如平滑滤波、高斯滤波、中值滤波等。
这些滤波器可以消除图像中的高频噪声,同时也会导致图像的模糊。
2.图像退化模型图像退化模型是描述图像模糊过程的数学模型。
常见的图像退化模型有运动模糊模型、模糊核模型等。
通过了解图像退化模型的特性,可以更准确地恢复图像的清晰度。
在Matlab中,可以根据图像退化模型进行图像恢复的研究和实现。
3.频域方法频域方法是一种基于图像频谱的模糊图像处理方法。
通过对图像进行傅里叶变换,可以将图像从空间域转换到频率域,然后在频率域进行处理,最后再进行逆傅里叶变换得到恢复后的图像。
在Matlab中,可以利用fft2函数进行傅里叶变换和逆傅里叶变换,实现频域方法对图像的处理。
三、图像模糊恢复技术1.盲去卷积算法盲去卷积算法是一种不需要知道图像退化模型的图像恢复方法。
通过对模糊图像进行去卷积处理,可以尽可能地恢复图像的清晰度。
在Matlab中,可以使用盲去卷积相关的函数和工具箱实现图像模糊恢复。
2.基于深度学习的图像超分辨率重建技术深度学习技术如今在计算机视觉领域取得了巨大的成功。
基于MATLAB图像复原论文

学号:基于MATLAB的离焦模糊图像复原学院名称:计算机与信息技术学院专业名称:通信工程年级班别:2008级1班姓名:指导教师:2012年5月基于MATLAB的离焦模糊图像复原摘要图像在获取、传输和存储过程中会受到如模糊、失真、噪声等原因的影响,这些原因会使图像的质量下降。
因此,我们需要采取一定的方法尽可能地减少或消除图像质量的下降,恢复图像的本来面目,这称为图像复原。
通过阅读图像复原技术相关资料,本文主要探讨了维纳(Wiener)滤波、约束最小二乘滤波算法、Lucy-Richardson算法和盲解卷积算法,并使用相关的工具箱函数deconvwnr函数、deconvreg函数、deconvlucy函数、deconvblind函数进行仿真。
另外本文对上述算法进行了仿真实现,并分析了四种算法的实验结果。
关键词图像复原;维纳滤波恢复;约束最小二乘滤波恢复;Lucy-Richardson恢复;盲解卷积恢复Based on the MATLAB of defocus blurred image restorationAbstract 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目录1 图像退化/复原处理的模型 (1)2 噪声的特征 (2)3噪声的分类 (3)4直接逆滤波 (4)5维纳滤波 (5)6 约束的最小二乘方滤波 (7)7 使用Lucy-Richardson算法的迭代非线性复原 (9)8 盲去卷积 (11)总结 (12)参考文献 (13)致谢 (14)前言在实际的日常生活中,人们要接触很多图像,画面。
Matlab中的图像重建与图像恢复技术

Matlab中的图像重建与图像恢复技术深入研究和掌握图像重建与图像恢复技术对于图像处理和计算机视觉领域的研究人员来说至关重要。
在现实生活中,图像可能因传感器噪声、数据传输损失或其他因素而受损,导致图像出现模糊、噪声等问题。
为了改善这些问题,我们需要使用图像重建和恢复技术,将受损的图像还原到原始清晰的状态。
Matlab作为一种功能强大的科学计算软件,提供了丰富的工具和函数,可以帮助我们实现图像重建和恢复的任务。
在本文中,我们将探讨几种常用的图像重建和恢复技术,并介绍如何使用Matlab来实现它们。
第一部分:图像去噪与平滑图像中的噪声往往是由电子设备、图像采集过程或传输过程中引入的。
去除这些噪声对于提高图像质量非常重要。
在Matlab中,我们可以使用均值滤波、中值滤波、高斯滤波等方法进行图像去噪和平滑。
均值滤波是一种常用的线性滤波方法,它通过计算图像周围像素的平均值来减小噪声。
中值滤波则取邻域像素的中值作为当前像素的值,可以有效地去除脉冲噪声和椒盐噪声。
高斯滤波则使用高斯核函数对图像进行平滑,可以在平滑图像的同时保留图像的细节信息。
第二部分:图像复原与去模糊当图像受到模糊因素的影响时,如相机抖动、运动模糊等,我们可以使用图像复原和去模糊技术来提高图像的清晰度。
在Matlab中,我们可以使用逆滤波、维纳滤波等方法进行图像复原和去模糊。
逆滤波是一种经典的图像复原方法,通过将图像的频谱进行逆变换,消除因模糊而引入的相位延迟和衰减。
然而,逆滤波在存在噪声的情况下容易引入放大噪声的问题。
为了解决这个问题,可以使用维纳滤波器,它通过权衡图像信号和噪声的功率谱来恢复原始图像。
第三部分:图像超分辨率重建超分辨率重建是一种在低分辨率图像的基础上提高图像分辨率的技术。
它在很多应用中都非常有用,如视频监控、医学图像分析等。
在Matlab中,我们可以使用插值方法、重建方法等技术进行图像超分辨率重建。
插值方法是一种常用的图像超分辨率技术,它通过对像素进行重新采样来增加图像的分辨率。
基于MATLAB的图像复原

基于MATLAB的图像复原摘要随着信息技术的发展,数字图像像已经充斥着人们身边的任意一个角落。
由于图像的传送、转换,或者其他原因,可能会造成图像的降质、模糊、变形、质量下降、失真或者其他情况的图像的受损。
本设计就针对“图像受损”的问题,在MATLAB环境中实现了利用几何失真校正方法来恢复被损坏的图像。
几何失真校正要处理的则是在处理的过程,由于成像系统的非线性,成像后的图像与原图像相比,会产生比例失调,甚至扭曲的图像。
图像复原从理论到实际的操作的实现,不仅能改善图片的视觉效果和保真程度,还有利于后续的图片处理,这对医疗摄像、文物复原、视频监控等领域都具有很重要的意义。
关键字:图像复原;MATLAB;几何失真校正目录1 MA TLAB 6.x信号处理 02 图像复原的方法及其应用 (12)2.1 图像复原的方法 (12)2.2 图像复原的应用 (13)3 几何失真校正实现 (14)3.1 空间变换 (14)3.1.1 已知()y x r,和()y x s,条件下的几何校正 (15)3.1.2 ()y x r,和()y x s,未知条件下的几何失真 (15)3.2 灰度插值 (16)3.3 结果分析 (18)参考文献 (19)附录 (20)1 MATLAB 6.x信号处理(1)对MATLAB 6 进行了简介,包括程序设计环境、基本操作、绘图功能、M文件以及MATLAB 6 的稀疏矩阵这五个部分。
MATLAB的工作环境有命令窗口、启动平台、工作空间、命令历史记录与当前路径窗口这四部分。
M文件的编辑调试环境有四个部分的设置,分别是:Editor/Debugger的参数设置,字体与颜色的设置,显示方式的设置,键盘与缩进的设置。
MATLAB采用路径搜索的方法来查找文件系统的M文件,常用的命令文件组在MATLAB文件夹中,其他M文件组在各种工具箱中。
基本操作主要是对一些常用的基本常识、矩阵运算及分解、数据分析与统计这三方面进行阐述。
基于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]将这种运动模糊过程描述为波动方程:аu/аt+V xаu/аx+ V yаu/аy=0其中,V x=dx/dt, V y=dy/dt为x,y方向上的速度分量并且通过分析该方程的达朗贝尔解得出结论:vаu0/аx=u(x)-u(x-L)其中即退化图像沿运动方向的导数等于原始图像和其移位L后图像的差,这里L也可以认为是模糊长度。
如何利用Matlab进行图像恢复

如何利用Matlab进行图像恢复图像恢复是数字图像处理中的一个重要的研究领域。
Matlab作为一种功能强大的工具,被广泛应用于图像处理领域。
本文将介绍如何利用Matlab进行图像恢复,并探讨其中的原理和算法。
首先,图像恢复是一种通过消除或减小图像失真、模糊或噪声等问题,使图像更加清晰和还原的过程。
在实际应用中,图像常常受到噪声污染、运动模糊、光照变化等影响,导致图像质量下降。
利用图像恢复技术,可以提高图像的视觉质量和辨识度,对于图像处理、计算机视觉等领域具有重要意义。
Matlab作为一款高级的数学计算工具,提供了丰富的函数库和灵活的编程接口,能够方便地进行图像处理和分析。
在图像恢复中,Matlab提供了多种处理图像的函数和算法,可以帮助我们实现各种图像恢复的方法。
一种常用的图像恢复方法是基于空域滤波的处理。
在Matlab中,可以使用imfilter函数来实现各种空域滤波算法,如均值滤波、中值滤波、高斯滤波等。
这些滤波算法通过在图像像素之间进行加权平均或统计操作,可以消除图像中的噪声和模糊。
另一种常用的图像恢复方法是基于频域滤波的处理。
在Matlab中,可以使用fft2函数和ifft2函数来实现图像的傅里叶变换和反傅里叶变换。
通过将图像从空域转换到频域,可以利用频域滤波算法对图像进行处理,如理想低通滤波、巴特沃斯低通滤波、维纳滤波等。
这些滤波算法可以根据图像的频域特征,有选择地增强或抑制图像中的某些频率分量,从而实现图像的恢复。
此外,Matlab还提供了一些专门用于图像恢复的函数,如wiener2函数、deconvwnr函数等。
wiener2函数实现了维纳滤波算法,可以用于消除运动模糊或加性噪声的图像恢复。
deconvwnr函数实现了维纳滤波的变种算法,可以根据图像和模糊函数的噪声特性,自适应地调整滤波参数,从而实现更好的图像恢复效果。
除了上述方法,Matlab还提供了其他一些高级的图像恢复算法,如超分辨率恢复、图像拼接等。
动态模糊图像复原MATLAB程序

1、退化程序clc;clear all;close all;I=imread('F:\mmw\B1\图2.jpg');%读图figure;subplot(4,3,1);imshow(I);title('原图像');LEN=30;%运动长度30THETA=30;%运动角度30% LEN=60;% THETA=60;n=2;for i=1:3for j=1:3PSF=fspecial('motion',LEN*i,THETA*j);%退化并研究运动角度和长度对图片模糊程度的影响PSF=fspecial('motion',LEN,THETA);Blurred=imfilter(I,PSF,'circular','conv');subplot(4,3,n);imshow(uint8(Blurred));title('模糊化');hold onn=n+1;endend%imwrite(Blurred,'模糊∠60长60.png');%保存图2、运动角度的求解%求解模糊运动角度matlab代码close all;clc;clear all;im=imread('F:\mmw\B1\模糊∠60长60.png');img_gray=rgb2gray(im);%灰度化img_fft=fftshift(fft2(img_gray));N=abs(img_fft);P=(N-min(min(N)))/(max(max(N))-min(min(N)))*225;figure;imshow(P);title('频谱图(运动角度与光斑方向垂直)');len=35;theta=0;PSF=fspecial('motion',len,theta);B=imfilter(img_gray,PSF,'circular','conv');subplot(121);imshow(B);%模糊图像B1=fft2(double(B));B2=mat2gray(log(abs(B1)));subplot(122);imshow(B2);%模糊图像的频谱图C=sum(B2,1);%对频谱图求列和[m,n]=size(C); x=0:1:n-1; y=C;figure,plot(x,y);title('频谱列和曲线图1') %绘制频谱列和曲线图3、运动长度算法%求解模糊运动长度matlab代码:im=imread('F:\mmw\B1\模糊∠60长60.png'); img_gray=rgb2gray(im);%灰度化h=fspecial('sobel');%sobel边缘检测img_double=double(img_gray);J=conv2(img_double,h,'same');IP=abs(fft2(J));S=fftshift(real(ifft2(IP)));figure;plot(S);title('模糊运动长度');4、噪声分析%噪声分析clc;clear allim=imread('F:\mmw\B1\图1.png');[m,n,h]=size(im);f11=ones(192,162,3);f22=ones(130,130,3);f33=ones(100,100,3);f44=ones(70,70,3);for i=1:190for j=1:162for k=1:3f11(i,j,k)=im(i,j,k);endendendfor i=1:130for j=501:630fork=1:3;f22(i,j-500,k)=im(i,j,k);endendfor i=721:870for j=11:170for k=1:3f33(i-720,j-10,k)=im(i,j,k);endendendfor i=761:830for j=561:630for k=1:3f33(i-760,j-560,k)=im(i,j,k);endendendfigure;subplot(221),hist(f11,100);subplot(222),hist(f22,100);subplot(223),hist(f33,100);subplot(224),hist(f44,100);title('噪声分析2');5、去噪还原clc;clear all;close all;I=imread('F:\mmw\B1\图1.png');%读图Len=60;Theta=60;PSF=fspecial('motion',Len,Theta); %模糊化BlurredA=imfilter(I,PSF,'circular','conv');wnr1=deconvwnr(BlurredA,PSF);%维纳滤波BlurredD=imfilter(I,PSF,'circ','conv');INITPSF=ones(size(PSF));[K DePSF]=deconvblind(BlurredD,INITPSF,30);%盲去卷积法BlurredB=imfilter(I,PSF,'conv');v=0.02;Blurred_I_Noisy=imnoise(BlurredB,'gaussian',0,v);NP=v*prod(size(I));J=deconvreg(Blurred_I_Noisy,PSF,NP);%最小二乘法BlurredC=imfilter(I,PSF,'symmetric','conv');v=0.002;BlurredNoisy=imnoise(BlurredC,'gaussian',0,v);Luc=deconvlucy(BlurredNoisy,PSF,5);%L_Rl滤波subplot(221);imshow(I);title('原图');subplot(222);imshow(BlurredA);title('模糊化');%subplot(233);imshow(wnr1);title('维纳滤波');subplot(223);imshow(J);title('最小二乘法');imwrite(J,'min_recover1.png');subplot(224);imshow(Luc);title('L_R法');imwrite(Luc,'LR_recover1.png');6、截取部分图片进行对比程序clear all;clc;a=imread('F:\mmw\B1\模糊∠60长60.png');%未处理质量较差图像b=a([64:120],[67:126]);a=imread('F:\mmw\min_recover1.png');%算法处理后质量较好图象c=a([64:120],[67:126]);%%从eyechart3中截取测试参考图象,截取部分需要进行缩放------------------%%使之与eyechart1,eyechart2截取部分大小匹配-----------------------a=imread('F:\mmw\B1\图2.jpg');%高清晰参考图象d=a([64:120],[67:126]);e=imresize(d,[length(b(:,1)),length(b(1,:))],'bicubic');%调整imwrite(b,'area_模糊∠60长60.png');imwrite(c,'area_最小二乘法复原图.png');imwrite(e,'area_图2.png');subplot(1,3,1);imshow(e);title('模糊∠60长60截取参考');hold on;subplot(1,3,2);imshow(b);title('eyechart1截取部分');hold on;subplot(1,3,3);imshow(c);title('eyechart2截取部分');7、模糊系数、质量指数、PSNR的计算(评价)clc;clear;PSNRenable=1; %PSNR计算使能,为0不计算,为1,计算KBlurenable=1; %模糊系数KBlur计算使能,为0不计算,为1,计算Qenable=1; %质量指数Q计算使能,为0不计算,为1,计算for m=1:2imsrcnamehead='area_模糊∠60长60'; %源图象文件名头imsrcnameext='png'; %源图象文件名扩展if m==1 %以area_eyechart1.bmp为测试图象imdstname=strcat('area_图2','.',imsrcnameext);%污染图象文件名,可修改elseif m==2%以area_eyechart2.bmp为测试图象imdstname=strcat('area_最小二乘法复原图','.',imsrcnameext);%污染图象文件名,可修改end%--------------------------------------------------------------------------iminfo=imfinfo(strcat(imsrcnamehead,'.',imsrcnameext));%源图象信息读取imsrc=imread(strcat(imsrcnamehead,'.',imsrcnameext)); %源图象读取imdst=imread(imdstname,imsrcnameext); %污染图象读取doubleimsrc=double(imsrc); %转换为浮点类型doubleimdst=double(imdst); %转换为浮点类型%----------------------------------------------------源图象和污染图象读取W=iminfo.Width; %图象宽H=iminfo.Height; %图象高%----------------------------PSNR计算--------------------------------------if PSNRenable==1PSNR=0.0; %PSNR赋初值for j=1:Hfor i=1:WPSNR=PSNR+double((doubleimsrc(j,i)-doubleimdst(j,i))*(doubleimsrc(j,i )-doubleimdst(j,i)));endendPSNR=PSNR/W/H;PSNR=10*log10(255*255/PSNR);%---------------------------PSNR计算完毕-----------------------------------end%-------------------------模糊系数KBlur计算--------------------------------if KBlurenable==1Sin=0.0; %Sin赋初值Sout=0.0;for i=2:W-1t=doubleimsrc(j-1,i+1)+doubleimsrc(j+1,i-1)-doubleimsrc(j-1,i-1)-doub leimsrc(j+1,i+1);if t<0t=-t;endSin=Sin+t; %源图象邻域边缘能量计算t=doubleimdst(j-1,i+1)+doubleimdst(j+1,i-1)-doubleimdst(j-1,i-1)-doub leimdst(j+1,i+1);if t<0t=-t;endendendSout=Sout+t; %污染图象邻域边缘能量计算KBlur=Sout/Sin;end%-------------------------------KBlur计算完毕------------------------------%-------------------------------质量指数Q计算------------------------------if Qenable==1Q=0.0; %Q赋初值Qnum=0; %图象以7X7块大小计算每块的Q,逐象素的移动块窗口,这里Qnum为块数量的计数for j=4:H-3for i=4:W-3midsrc=0.0;middst=0.0;varsrc=0.0;vardst=0.0; %源图象和污染图象块内的平均值和方差赋初值varsrcdst=0.0;%源图象和污染图象块内的协方差赋初值for n=-3:3for m=-3:3midsrc=midsrc+doubleimsrc(j+n,i+m);middst=middst+doubleimdst(j+n,i+m);endendmidsrc=midsrc/49;middst=middst/49;%%源图象和污染图象块内的平均值计算----------------------------------for n=-3:3varsrc=varsrc+(doubleimsrc(j+n,i+m)-midsrc)*(doubleimsrc(j+n,i+m)-mid src);vardst=vardst+(doubleimdst(j+n,i+m)-middst)*(doubleimdst(j+n,i+m)-mid dst);varsrcdst=varsrcdst+(doubleimsrc(j+n,i+m)-midsrc)*(doubleimdst(j+n,i+ m)-middst);endendvarsrc=varsrc/48;vardst=vardst/48;varsrcdst=varsrcdst/48;if((varsrc+vardst)*(midsrc*midsrc+middst*middst))~=0%分母不为零的块才计算质量指数QQ=Q+4*varsrcdst*midsrc*middst/((varsrc+vardst)*(midsrc*midsrc+middst* middst));%%源图象和污染图象块内Q计算完毕------------------------------------Qnum=Qnum+1; %块计数加1endendendQ=Q/Qnum;endendQPSNRKBlur。
数字图像处理(基于Matlab)图像复原

《数字图像处理》实验报告一、实验目的(不少于200字) 本次实验进行的主要是对图像复原进行有关讨论。
在图像形成过程中,由于成像系统等各种外部因素的影响,可能导致图像的质量下降,发生所谓的“图像退化”。
与图像增强相类似,图像复原的目的是改善图像的质量,便于人眼辨识,增强表达效果。
在进行图像复原的过程中,必要的先验知识十分重要,可以非常方便的将已退化的图像恢复本来的面目,但是有些时候图像的先验知识我们并不容易获取,所以与此相对应有盲卷积等方法来帮助我们进行图像复原。
引起图像退化的因素很多,包括有光学系统、运动等造成的图像模糊,电路传递中、光学因素的影响噪声等等。
掌握了解相关的数学模型对于图像复原至关重要,许多复原的方法也是建立在比较严格的数学推导上的。
通过本次实验,主要期望达到以下目的:1、熟练掌握数字图像复原的基本概念和基本理论原理2、深入理解图像退化的影响原因和对应的处理方法,加强综合分析问题、解决实际问题的能力3、掌握各种使用的图像复原的相关技术,使经处理后的图像更加适应人眼的视觉与心理4、巩固使用 matlab 软件处理数字图像问题的能力,加强巩固编程能力通过实验,了解到图像恢复和图像增强的区别还在于图像增强不考虑图像时如何退化的,而是试图采用各种技术来增强图像的视觉效果,因此图像增强可以不顾增强后的图像是否失真,只要看着舒服就基本可以满足要求,而图像复原则对图像退化的机制和过程邓先验知识要求较为必要,很多情况下先验知识如果全面准确,甚至可以完全恢复原始图像,达到非常好的效果,据此找出相应的你处理方法,从而得到恢复的图像。
对于一幅图像,可以先进行复原处理,在进行图像增强处理,两者相互结合,图像的效果可以达到更为理想的效果。
【2013年11月16日10:53:24】二、核心代码及运行后截图(截图方法:先按下Alt再按下PrtScr,然后粘贴进文档)1.频谱噪声分析在进行图像复原之前,首先对各个图像做傅里叶变换在频谱中观察分布情况,由此判断噪声或模糊类型。
基于MATLAB的数字图像复原的研究

• 19•在人类传递信息的过程中,图像起到了非常重要作用。
在图像采集和储存设备方面,其种类非常多。
以往,我们多使用传统胶片照相机和摄像机,现在我们能够使用监控视频、行车记录仪以及无人机进行图像的采集和储存。
但是,很多时候,由于摄像头距离观察目标不确定,如果两者距离较远,那么可能会导致获取的图像像素不高的问题。
不仅如此,图像的采集还会受到很多外界环境条件的影响。
例如,夜间灯光光线不强和暴风暴雨天气都会影响到图像的采集。
笔者基于MATLAB,针对数字图像复原进行了相关研究。
在数字图像处理中,模糊图像复原是非常值得研究的一个领域。
特别是最近几年,模糊图像复原在国内外图像研究领域成为一个焦点问题。
关于模糊图像复原的研究成果正在多个研究领域所应用。
但是在进行相关研究的过程中,发现获取图像难以得到高质量保障。
众所周知,在很多时候,获取图像的设备会遇到光学系统像差以及大气扰动和系统噪声等影响。
如此,这些因素会导致图像发生模糊现象,甚至可能出现图像变形的情况。
鉴于此,我们为了提高图像的质量,有必要通过适当的方法,使图像复原,并使图像的质量得到提升。
1 数字图像复原1.1 数字图像成像数字图像:所谓图像,其实质是在光学或者光电材料中所形成的影像。
图像是客观存在的,是物体及其周围景物发出或反射的光线所形成的。
众所周知,图像的种类非常多。
数字图像和模拟图像这两者有一个共同点,那就是都是根据空间坐标和亮度色彩的改变来判断连续进行与否的。
根据图像,可将其定义为二维函数f(x,y),其中x 和y都是空间坐标。
如果对于所有空间坐标,其幅值是有限的和离散的数值。
对于这种离散化,我们称它为数字图像。
视频:视频的本质是通过图像按照时间序列所构成的,当然这些图像是存在一些细小差别的。
对于每一幅图像,其在细节上不完全相同,所以在视觉上会产生暂留现象,这样当连续的图像在以每秒超过24帧进行画面变化的时候,人的眼睛就很难发现其中的变化。
如此,我们在在视觉上看到了平滑的画面效果。
基于Matlab平台的运动模糊图像复原研究

基于Matlab平台的运动模糊图像复原研究高树辉;樊攀;蔡能斌【摘要】目的研究运动模糊图像的模糊参数计算方法,为模糊图像复原提供依据.方法本文以运动模糊图像为研究对象,借助目前流行的数字图像处理系统Matlab,研究运动模糊图像参数中模糊方向和模糊尺度的计算方法,在此基础上对图像进行复原.结果模糊尺度较小时,模糊角度的计算误差稍大;当模糊尺度比较大(大于15像素)时,模糊方向的计算比较准确,而且随着模糊尺度的增大,角度计算精度越来越高;当模糊尺度大于30像素时,模糊角度计算精度很高,误差最大值为1°.模糊尺度计算符合精度要求.在计算模糊参数基础上对运动模糊车牌进行复原.结论运动模糊角度和模糊尺度已经能够通过算法实现鉴别,误差分析的结果也验证了算法的可行性,在模糊图像复原方面具有重要意义.【期刊名称】《中国人民公安大学学报(自然科学版)》【年(卷),期】2015(021)004【总页数】4页(P5-8)【关键词】Matlab;运动模糊;模糊参数;复原【作者】高树辉;樊攀;蔡能斌【作者单位】中国人民公安大学,北京102623;北京市公安局,北京100007;上海市现场物证重点实验室,上海200083【正文语种】中文【中图分类】D918.3运动模糊图像是一种常见类型的模糊图像,经常出现于公路抓拍的车牌图像或夜间拍摄的运动物体图像中,在桥梁、隧道等机械振动严重区域,也常形成全局性的运动模糊图像。
运动模糊图像中的车牌、人脸等重点信息无法识别,这给侦查破案造成了很大的阻碍,所以将运动模糊图像清晰复原,成为当下视频侦查工作的重点和难点之一。
在模糊图像复原实际应用中,模糊图像的原始信息和退化系统的点扩散函数(PSF)都是未知的,跳过模糊参数的计算这一关键步骤而只研究复原处理的方法是行不通的,因此需要首先计算退化图像的模糊参数,才能更好地完成后续的复原操作。
本文以运动模糊图像为研究对象,借助目前流行的数字图像处理系统Matlab,研究运动模糊图像参数(模糊方向和模糊尺度)的计算方法,在此基础上对运动模糊图像进行复原处理。
利用Matlab进行图像去噪与复原的方法与技巧

利用Matlab进行图像去噪与复原的方法与技巧引言随着科技的不断发展和图像的广泛应用,图像的质量要求也越来越高。
然而,在实际应用中,由于环境的干扰等因素,图像往往会受到噪声的污染,导致图像质量下降。
因此,图像去噪与复原成为了图像处理领域的关键问题之一。
本文将介绍如何使用Matlab进行图像去噪与复原,并探讨其中的方法与技巧。
一、图像去噪的基本概念图像去噪是指通过各种方法将图像中的噪声信号剔除或减弱,以提高图像质量的过程。
常见的图像噪声有高斯噪声、椒盐噪声等。
在Matlab中,我们可以利用一些函数实现图像去噪的操作。
其中,最常用的就是使用均值滤波器和中值滤波器。
1.1 均值滤波器均值滤波器是一种简单的图像平滑技术,通过计算像素周围的邻域像素的平均值来进行滤波。
在Matlab中,我们可以使用"imfilter"函数来实现均值滤波器。
具体步骤如下:(1)读取图像,将其转化为灰度图像;(2)使用"imfilter"函数,定义一个滤波器模板,例如3*3的矩阵;(3)调用"imfilter"函数,将原始图像和滤波器模板作为输入,得到滤波后的图像。
1.2 中值滤波器中值滤波器是一种非线性滤波技术,它将像素周围邻域像素的中值作为滤波后的像素值。
相比于均值滤波器,中值滤波器对于椒盐噪声等异常值有较好的抑制作用。
在Matlab中,我们可以使用"medfilt2"函数来实现中值滤波器。
具体步骤如下:(1)读取图像,将其转化为灰度图像;(2)调用"medfilt2"函数,设置滤波器的大小,例如3*3的矩阵;(3)将原始图像作为输入,得到滤波后的图像。
二、图像复原的基本概念图像复原是指通过各种方法将受损的图像恢复到原始的清晰状态的过程。
图像的损伤可以是由于传感器噪声、图像压缩等原因导致的。
在Matlab中,我们可以利用一些函数实现图像复原。
基于Matlab的运动模糊图像还原

模糊方向的估计
一次傅里叶变换
二次傅里叶变换
模糊方向的估计
第二次傅里叶变换后的图 像,如图,其中的角theta 就大致接近PSF变换中的 角theta,故测算出角theta 即可估计出模糊方向。
测算值:theta=60.
模糊长度的估计
测算值:len=60.
在得到的自相关图中,测量两个负峰 之间的直线距离,即大致是模糊长度。
图像复原的流程
·使用PSF模糊图像,模拟出在无噪声情况下的匀速直线运动的 模糊图像。
·模糊方向的估计:通过对图像的二次傅里叶变换,手动选取点, 估算出模糊方向
·模糊长度的估计:原图像的自相关图像的两个负峰之间的距离, 即是模糊长度
·图像的还原:使用 Lucy-Richardson 算法,进行图像还原。
事实证明,此方法测算的模糊长度,误差不大。
图像的还原
利用Lucy richardson函数, 使用之前得到的 两个参数,进行 图像复原。
图像复原
对比原图像,复原后的图像虽然不是很完美,但是清晰度大大提升,一 些有用信息得以复原,比如印章上的单位名称就可以看清楚。
除了Lucy richardson复原,还有最小二乘方复原,盲去卷积复原等多种 已有的图像复原方法。
基于Matlab的运动模糊图像还原
物联网一班 12073133
李宇昕
应用的价值
在交通系统、刑事取证中图像的关键信息至关重要, 但是在交通、公安、银行、医学、 工业监视、 军事侦察 和日常生活中常常由于摄像设备的光学系统的失真、调焦 不准或相对运动等造成图像的模糊,使得信息的提取变得 困难。但是相对于散焦模糊,运动模糊图像的复原在日常 生活中更为普遍,比如高速运动的违规车辆的车牌辨识, 快速运动的人群中识别出嫌疑人、公安刑事影像资料中提 取证明或进行技术鉴定等等, 这些日常生活中的重要应 用都需要通过运动模糊图像复原技术来尽可能地去除失真, 恢复图像的原来面目。因此对于运动模糊图像的复原技术 研究更具有重要的现实意义。
Matlab技术图像恢复方法

Matlab技术图像恢复方法引言随着数字图像技术的发展,我们可以轻松地通过手机相机或数字相机捕捉到高分辨率的图片。
然而,由于摄影条件、噪声、运动模糊等因素的影响,有时候我们会得到质量较低的图像。
因此,图像恢复成为一个重要的研究领域。
Matlab作为一个功能强大的计算环境,提供了多种图像恢复方法。
本文将介绍一些常用的Matlab技术图像恢复方法。
一、降噪滤波噪声是图片质量下降的主要原因之一。
为了去除图像中的噪声,我们可以使用降噪滤波算法。
Matlab提供了多种降噪滤波方法,比如中值滤波、均值滤波和高斯滤波等。
中值滤波是一种基于统计的滤波方法,它通过计算像素周围邻域内像素值的中值并将其作为中心像素的新值,从而去除离群点。
在Matlab中,我们可以使用medfilt2函数进行中值滤波处理。
通过调节滤波窗口的大小,我们可以平衡降噪效果和图像细节的保留。
均值滤波是一种经典的线性滤波方法,它通过计算像素邻域内像素值的平均值来平滑图像。
在Matlab中,我们可以使用imfilter函数实现均值滤波。
通过调节滤波模板的大小,我们可以控制滤波的程度。
高斯滤波是一种基于高斯函数的滤波方法,它通过对图像进行卷积操作来平滑图像。
在Matlab中,我们可以使用imgaussfilt函数实现高斯滤波。
通过调节滤波半径,我们可以控制滤波的程度和模糊程度。
二、图像增强在处理低质量图像时,我们通常希望能够提高图像的清晰度和对比度。
Matlab提供了多种图像增强方法,比如直方图均衡化、锐化和对比度增强等。
直方图均衡化是一种常用的直方图操作方法,通过拉伸图像像素值的分布来增强图像的对比度。
在Matlab中,我们可以使用histeq函数实现直方图均衡化。
通过调节参数,我们可以改变直方图的形状以达到更好的视觉效果。
锐化是一种通过增强图像边缘和细节来提高图像清晰度的方法。
在Matlab中,我们可以使用imsharpen函数实现图像的锐化。
基于MATLAB的模糊图像的复原方法探究

Байду номын сангаас
、
在后来 的维纳滤波法算法又被引入 二维信号处理,并取得 相当满意的效果 ,尤其在 图像复原领域 。由于维纳滤波器 的复 原效果 良好 ,计算量较低 ,并且抗噪性能优 良,因而在 图像复 原领域得到了广泛的应用 ,并不断得到改进 ,许多高效的复原 算法都是以此为基础形成的。 ( 三 )R L算法 。R L算法是一种迭代方法 ,在复原 H S T ( 哈 勃太空望远镜) 图像是得到 了广泛 的应用, 是 目前应用较 多的模 糊图像复原技术之一 。R L算法 能够按照泊松噪声统计标准求 出 与给定 P S F卷积后 ,最有可能成为输入模糊图像 的图像。当 P s F 已知 ,但 图像噪声信息未知时,也可 以使用这种恢复方法进 行有效恢复 。在符合泊松统计前提下,推 导如下:
摘 要 :图像复原是 图像 处理 的一个核心 环节 ,它是后 期 图像 分析和处理的重要前提 。模糊 图像 复原 的主要 目 的就是改善 图像质量 ,研 究如从 所得 到的模糊 图像 中复原 出真 实图像 。本文首先从 图像 复原技 术的相 关概 念谈起 , 然后 就典 型的模糊 图像 复原方法进行 分析 ,最后利用 MA T L A B,以维纳滤波恢复算法为例 ,就 实现模糊 图像复原 的 应 用 实例 进 行 分析 说 明 。
像F ( u ,v ) 通过系统 H并与加性噪声 N( u , v ) 相叠加而形成退化 图像 。逆滤波 的方法是直接将退化过程 H的逆变换与退化 图像 进行反卷积 。 利用傅里叶变换卷积特性,上述过程可 以表述 为:
=
其中,F( j )为未被模糊对像,P( i l J )为 P S F( 点扩散 函数) , G ( i ) 为不含噪声的模糊 图像。 需要指 出的是对于没有噪 声干扰 的理想模糊图像 ,迭代次数越 多恢复的效果越好 。在无
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的模糊图像的复原方法探究
摘要:图像复原是图像处理的一个核心环节,它是后期图像分析和处理的重要前提。
模糊图像复原的主要目的就是改善图像质量,研究如从所得到的模糊图像中复原出真实图像。
本文首先从图像复原技术的相关概念谈起,然后就典型的模糊图像复原方法进行分析,最后利用matlab,以维纳滤波恢复算法为例,就实现模糊图像复原的应用实例进行分析说明。
关键词:图像复原;模糊图像;matlab;维纳滤波恢复算法
中图分类号:tp391.41 文献标识码:a 文章编号:1674-7712 (2013) 06-0066-01
一、图像的复原技术概述
(一)认识图像复原。
图像复原技术即所谓的图像恢复技术,是当今图像处理研究的一个重要领域分支。
图像复原技术的目的在于去除或减轻在获取数字图像过程中发生的图像质量退化问题,从而使图像尽可能地接近于真实场景。
其中,所谓的图像质量退化问题指景物形成过程中因出现畸变、模糊、失真或混入噪声等现象所导致的图像降质问题。
(二)引起图像退化的原因。
查阅大量相关文献,笔者总结发现,导致图像退化的原因有很多,主要原因表现为如下几点:一是由于扫描非线性以及成像器件拍摄姿态问题所引起的图像几何失真;二是成像系统的畸变、象差、带宽有限等造成的图像失真;三是运动模糊,被拍摄景物与成像传感器之间因存在相对运动引起所成图像
的运动模糊;四是图像在数字化处理、成像以及数据采集过程中引入的噪声;五是其他方面的原因,包括因光学系统或成像传感器本身特性不均匀所产生的灰度失真以及大气成分变化引起图像失真等。
(三)常见的图像复原方法的分类。
图像复原大致可以分为两种方法:一种方法是估计方法,该方法比较适用于缺乏图像先验知识的情况,针对这种情况可对图像退化过程建立模型进行描述,进而寻找一种去除或削弱其影响的过程;另一种方法是针对原始图像有足够的先验知识的情况,通过对原始图像建立一个数学模型并根据它对退化图像进行拟合,进而可以获得更佳的复原效果。
以上两种方法各有优缺点,前者不需要先验知识,但其缺点是速度较慢,效果也不如后者;而后者只要有正确的模型,就可在相对较短的时间内得到较好的图像复原效果,其缺点是在建立准确的模型上,还存在很大的困难。
二、典型的模糊图像复原方法分析
(一)逆滤波法。
逆滤波法考虑图像的退化过程是原始图像f(u,v)通过系统h并与加性噪声n(u,v)相叠加而形成退化图像。
逆滤波的方法是直接将退化过程h的逆变换与退化图像进行反卷积。
利用傅里叶变换卷积特性,上述过程可以表述为:
就是恢复后图像的傅里叶变换。
其中,g(u,v)是输入图像的傅里叶变换,n(u,v)是噪声的傅里叶变换,h(u,v)是点扩散函数,即退化过程的傅里叶变换。
需要说明的是逆滤波对于没有被噪声污染的图像很有效,但是实际应用中,噪声通常无法计算,因此通常忽略加性噪声,而当噪声存在时,该算法就对噪声有放大作用,如果对一幅有噪声的图像进行恢复,噪声可能占据了整个恢复结果。
(二)维纳滤波法。
维纳滤波法可以归于逆滤波算法一类,它是由wiener首先提出的,并应用于一维信号,取得很好的效果。
维纳滤波恢复是在假定图像信号可近似看作平稳随机过程的前提下,按照使原图像f(x,y)与恢复后的图像之间的均方误差e2达到最小的准则,来实现图像恢复的。
即:
在后来的维纳滤波法算法又被引入二维信号处理,并取得相当满意的效果,尤其在图像复原领域。
由于维纳滤波器的复原效果良好,计算量较低,并且抗噪性能优良,因而在图像复原领域得到了广泛的应用,并不断得到改进,许多高效的复原算法都是以此为基础形成的。
(三)rl算法。
rl算法是一种迭代方法,在复原hst(哈勃太空望远镜)图像是得到了广泛的应用,是目前应用较多的模糊图像复原技术之一。
rl算法能够按照泊松噪声统计标准求出与给定psf卷积后,最有可能成为输入模糊图像的图像。
当psf已知,但图像噪声信息未知时,也可以使用这种恢复方法进行有效恢复。
在符合泊松统计前提下,推导如下:
其中,f(j)为未被模糊对像,p(i|j)为psf(点扩散函数),g(i)为不含噪声的模糊图像。
需要指出的是对于没有噪声干扰的
理想模糊图像,迭代次数越多恢复的效果越好。
在无噪声情况下,rl每次迭代时,都会提高解的似然性,随着迭代次数的增加,最终将会收敛在最大似然性的解,但随着迭代次数的增加也会增加计算量。
三、用matlab实现维纳滤波恢复算法的实例分析
matlab软件提供了多类图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法。
考虑到设计的复杂性以及时间的有限性,本实例的图像复原利用matlab数字图像处理工具箱来完成。
在本实例的程序中仿真了一个运动模糊psf,对原图像进行模糊操作,并指定运动位移为50个像素,运动角度为45度。
利用函数deconvwnr进行维纳滤波复原图像,调用格式为:wnr=deconvwnr (blurrednoisy,psf)。
由于直接用无信噪比nsr参数的函数deconvwnr进行复原的滤波效果很差,因此引人信噪比nsr作为噪声参数进行图像复原,即:
noise=imnoise(zeros(size(i)),’gaussian’,0,0.01);nsr=sum(noise(:).)/sum(im2double(i(:)).);
wnr=deconvwnr(blurrednoisy,psf,nsr);
其中,matlab实现该算法的核心源代码如下。
i=imread(’abc.png’);
figure(1);imshow(i);
len=45;
theta=35;
psf=fspecial(’motion’,len,theta);
wnr=deconvwnr(i,psf);
figure,imshow(wnr);
在用matlab实现维纳滤波复原方法中发现采用维纳滤波复原算法可以使估计的点扩散函数值psf更加接近它的真实值,也就是说恢复处理的图像与原始的图像基本趋同,获得的图像复原处理效果比较理想。
参考文献:
[1]孟昕.运动模糊图像恢复的算法研究与分析[j].计算机技术与发展,2009,8.
[2]刘微.运动模糊图像恢复过程中的几个关键问题[j].电子器件,2008,3.
[3]陈慧蓉.基于波方程的运动模糊图像恢复[j].清华大学学报,2010,7.。