数字图像处理报告:实验4 图像复原

这篇具有很好参考价值的文章主要介绍了数字图像处理报告:实验4 图像复原。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(四)实验4 图像复原
一、实验主题
学习图像复原的相关原理及实现方法,并掌握逆滤波、维纳滤波的原理与程序实现。
二、实验目的
1.掌握图像复原的基本原理和方法。
2.学习使用程序设计环境。
3.使用设计框架构造应用程序。
4.掌握逆滤波、维纳滤波的原理和实现。
三、实验要求
对图像进行退化处理,如加噪、运动干扰等,根据退化模型设计复原滤波器,如逆滤波、维纳滤波,对图像进行复原,对比原始图、退化图、复原图对复原效果进行评估。
四、实验平台
1、编程平台:MATLAB R2020b
2、编程语言:matlab
五、实验代码
1、图像复原主代码:

% 图像复原
function ImageRestore()
img=imread('lena.bmp');
%图像归一化
img=double(img)/double(max(img(:)));
% img = imnoise(img,'gaussian', 0, 0.001); %加噪
%运动模糊,产生一个沿着theta方向运动长度l的卷积核
l=40;
theta=30;
blur=fspecial('motion', l, theta);
blur=fspecial('disk', 100); % 'average'正方形模板 'disk'圆盘模板均值模糊
% imshow(blur,[]);
% imshow(ifft2(fft2(blur,512,512)),[]);
%对图像进行卷积滤波,产生退化图像
degenerate = imfilter(img, blur, 'conv', 'circular');
% degenerate = imnoise(degenerate,'gaussian', 0, 0.0001); %加噪
% degenerate=LFPFilter(degenerate,80); %低通滤波
%采用 deconvwnr 维纳滤波对图像进行复原,deconvreg 最小二乘,deconvlucy使用lucy richard恢复
restore = deconv2(degenerate, blur);
% restore = deconvwnr(degenerate, blur,0.005);
% restore1=LFPFilter(restore,30); %低通滤波
% restore2=ButtLFPFilter(restore,30,10); %巴特沃兹低通滤波
figure
imshow(img,[]);
figure
imshow(degenerate,[]);
figure
imshow(restore,[]);
% figure
% imshow(restore1,[]);
% figure
% imshow(restore2,[]);
end

2、逆滤波相关代码:

%逆滤波
function restore = deconv2(img,blur)
[r,c]=size(img);
f=fft2(img);
blur1=imresize(blur,r,c);
blur1=imshift(blur1,-floor(size(blur)/2));
fb=fft2(blur1);
fmax=max(abs(fb(:)));
for i=1:r*c
    if abs(fb(i))<fmax*1e-4
        fb(i)=fmax*1e-4;
    end
end
f=f./fb;
restore=ifft2(f);
end

%图像尺寸调整到row*col
function Img = imresize(img,row,col)
[r,c]=size(img);
Img=img;
if row>r
    Img=[Img;zeros(row-r,c)];
end
if row<r
    Img(row+1:end,:)=[];
end
if col>c
    Img=[Img,zeros(row,col-c)];
end
if col<c
    Img(:,col+1:end)=[];
end
end

%图像平移(周期延拓处理)
function Img = imshift(img,t)
[r,c]=size(img);
Img=img;
for i=1:r
    for j=1:c
        Img(mod(i+t(1)-1+r,r)+1,mod(j+t(2)-1+c,c)+1)=img(i,j);
    end
end
end

六、实验结果
数字图像处理报告:实验4 图像复原

                                       图1 原始图像

数字图像处理报告:实验4 图像复原

                                        图2 退化图像

数字图像处理报告:实验4 图像复原

                                    图3-1 逆滤波处理后图像

数字图像处理报告:实验4 图像复原

                           图3-2 维纳滤波(nsr=0.005)处理后图像                         

数字图像处理报告:实验4 图像复原

                           图3-3 维纳滤波(nsr=0.00000005)处理后图像

数字图像处理报告:实验4 图像复原

                             图3-4 维纳滤波(nsr=0)处理后图像

数字图像处理报告:实验4 图像复原

                               图3-5 理想低通滤波处理后图像

数字图像处理报告:实验4 图像复原

                             图3-6 巴特沃兹低通滤波处理后图像

七、实验心得
在本次实验过后,我们学习了图像复原的基本原理,与一些基础的图像复原方法,其中我们重点学习了逆滤波与维纳滤波的相关原理与应用方法,并且受益匪浅。下面是对本节学习内容的一些补充:
1、图像复原:
1.1 图像复原的基本概念
图像复原的前提是图像退化,图像退化是指图像在形成、记录、处理、传输过程中由于成像系统、记录设备、处理方法和传输介质的不完善,导致的图像质量下降。具体来说,常见的退化原因大致有:
成像系统的像差或有限孔径或存在衍射;
成像系统的离焦;成像系统与景物的相对运动;
底片感光特性曲线的非线性;
显示器显示时的失真;
遥感成像中的大气散射和大气扰动;
遥感摄像机的运动和扫描速度不稳定;
系统各个环节的噪声干扰;
模拟图像数字化引入的误差等。
图像复原与图像增强相似,两者都是要得到在某种意义上改进的图像,或者说,希望改进输入图像的质量。两者的不同之处是图像增强技术一般要借助人的视觉系统的特性,以取得较好的视觉效果,而视觉效果质量的评价标准是主观的。
图像增强的目标是多样的。而图像复原则认为图像在某种情况下退化或恶化了,使得图像品质出现下降,现在需要根据相应的退化模型和知识重建或恢复原始的图像。因此,图像复原的目标是原始的反应真实物体或场景的图像,这是客观存在的,不以主观意志为转移。图像复原通过概率估计或先验知识千方百计地去还原图像的本来面貌。
1.2 图像复原的一般模型
对于退化的复原,一般可采用两种方法。
给出一幅退化图像,如果已知其退化的过程信息,那么对图像执行该过程的逆操作即可恢复图像。建立恰当的模型之后,使用某种概率准则对几个参数进行估计即可,此时复原变为一个检测问题。
假如退化的过程不可知或无法精确获得,则可对退化过程(模糊和噪声)建立模型,进行描述,并进而寻找一种去除或削弱其影响的过程,是一种估计方法。
一般将图像的退化过程模型化为一个退化函数和一个加性噪声项。设原始输入图像为f ( x , y ) f(x, y)f(x,y),退化函数为h ( x , y ) h(x, y)h(x,y),加性噪声为n ( x , y ) n(x, y)n(x,y),产生的退化图像为g ( x , y ) g(x, y)g(x,y),复原滤波后重建的复原图像为f ^ ( x , y ) \hat{f}(x, y)f^​(x,y)。退化和复原过程如下:
数字图像处理报告:实验4 图像复原
如果系统H HH是一个线性、位置不变性的过程,那么在空间域中给出的退化图像可由下式给出:
数字图像处理报告:实验4 图像复原

其中( ∗ ) (*)(∗)表示空间卷积。由数字信号处理的知识可知,空域卷积在频域上可用乘积表示,因此上式等价于以下的频域表达式:
数字图像处理报告:实验4 图像复原

在进行图像复原时既可以在空间域,也可以在频域中进行,根据具体问题采用方便有效的一种方式即可。空间域的处理使用卷积,频域的处理使用相乘实现。

2、逆滤波:
图像模糊是一种拍摄常见的现象,我曾在图像去模糊(维纳滤波) 介绍过。这里不再详述,只给出物理模型,这里我们仍在频率域表示
G(u,v)=H(u,v)F(u,v)+N(u,v)(1)

其中提到最简单的复原方法是直接做逆滤波(Inverse filter)。

F^(u,v)=G(u,v)/H(u,v)(2)

该除法是阵列操作,即按位除。
在含有噪声情况下,将(1)式两端除以H(u,v)

F^(u,v)=F(u,v)+N(u,v)/H(u,v)(3)

这里N(u,v)未知,式子表明,即使知道退化函数也不能准备复原图像。还有当退化函数 H(u,v)是零或者非常小的值,则N(u,v)/H(u,v)很容易支配整个式子。

3、维纳滤波:
逆滤波在图像没有噪声的情况下是很好的,但在有噪声的情况下,噪声会被放大,所以维纳滤波就横空出世了,维纳滤波能很好的解决有噪声的图像修复。
维纳滤波是诺波特·维纳在二十世纪四十年代提出的一种滤波器,即假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知道它们的二阶统计特性,根据最小军方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得最佳线性滤波器的参数。
维纳滤波器是一种自适应最小均方差滤波器。维纳滤波的方法是一种统计方法,它用的最优准则是基于图像和噪声各自的相关矩阵,它能根据图像的局部方差调整滤波器的输出,局部方差最大,滤波器的平滑作用就越强。
公式如下:
数字图像处理报告:实验4 图像复原
其中戴帽子的f为我们维纳滤波后的图像,f为清晰的原始图像,g为待恢复的模糊图像(g上式没有,写出来为了说明的完整性)。
这里戴帽子的f我们是不知道的,所以我们要根据这个优化式子求出f~。
具体的推导过程这里不写,因为我也只看了个大概。
求解的结果为:
数字图像处理报告:实验4 图像复原
其中,G(u,v)是退化图形的傅里叶变换;
H(u,v)是退化函数;
p n ( u , v ) = ∣ N ( u , v ) ∣ 2 p_n(u,v)=|N(u,v)|^2pn​(u,v)=∣N(u,v)∣2是噪声的功率谱;
P f ( u , v ) = ∣ F ( u , v ) ∣ 2 P_f(u,v)=|F(u,v)|^2Pf​(u,v)=∣F(u,v)∣2是原始图像的功率谱;
s = 1 λ s=\frac{1}{λ}s=λ1​,λ为一常数,是拉格朗日乘数。
之前有说过维纳滤波需要知道原始图像和噪声的二阶统计特性,即要知道关于图像和噪声的先验知识,比如p f ( u , v ) , p n ( u , v ) p_f(u,v),p_n(u,v)pf​(u,v),pn​(u,v),但是这恰恰也是我们不知道的,这也是维纳滤波器的局限所在,我们一般将上述两个公式的比值看做是常数带入进行计算,如下所示:
数字图像处理报告:实验4 图像复原
这是一种无可奈何的粗糙的近似,但是当噪声为白噪声即其功率谱为常数的时候,这种近似效果很不错。
为了强化维纳滤波器的效果“基于维纳滤波的图像复原”这篇论文提出了两次维纳滤波的方法,第一次维纳滤波求出一个近似图像,然后由近似图像的和模糊图像估计噪声和原始图像的先验知识,最后根据该先验知识进行再次的维纳滤波。
“Lucy - Richardson 与维纳滤波算法比较分析”,这篇文章指出在先加模糊函数在加噪声的情况下,维纳滤波的表现比LR滤波器的表现更为良好。
在“维纳滤波图像复原技术的研究与改进”这篇文章中,作者指出,维纳算法可实现最小均方差复原,当图像的频率特性和噪声已知时,维纳滤波的效果较好;在峰值信噪较低时效果不好。这时由于三个问题限制了它的有效性。首先维纳滤波采用均方误差(MSE)准则,该准则对所有的误差(不管其在图像中的位置)都赋予同样的权,而人眼对暗处和高梯度区域的误差比其他区域的误差有较大的容忍性,所以,维纳滤波以一种并非适合人眼的方式对图像进行了平滑(第一个公式即求均方误差最小);其次,维纳滤波假设退化模型为线型空间不变系统,它不能处理具有空间可变点扩散函数的情形(比如物体运动不是匀速或者匀加速);最后,由于基于平稳随机场的模型,维纳滤波 不能处理有着非平稳信号和噪声的一般情形,大部分图像都是高度非平稳的,有着陡峭边缘分开的大块平坦区域(对非平稳过程而言,均值和方差是无法通过统计得到的,因为它们会随时间而变化)。文章来源地址https://www.toymoban.com/news/detail-477858.html

到了这里,关于数字图像处理报告:实验4 图像复原的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (数字图像处理MATLAB+Python)第八章图像复原-第三、四节:图像复原代数方法和典型图像复原方法

    图像复原代数方法 :根据退化模型,假设具备关于 g g g 、 H H H 、 n n n 的某些先验知识,确定某种最佳准则,寻找原图像 f f f 的最优估计 无约束最小乘方复原 :是一种用于恢复受损图像的方法。它基于最小化平方误差的原则,以尽可能接近原始图像为目标。假设我们有一个

    2024年02月05日
    浏览(102)
  • (数字图像处理MATLAB+Python)第八章图像复原-第一、二节:图像复原概述和图像退化模型

    图像复原 :在图像生成、记录、传输过程中,由于成像系统、设备或外在的干扰,会导致图像质量下降,称为 图像退化 ,如大气扰动效应、光学系统的像差、物体运动造成的模糊、几何失真等。图像复原是指通过使用图像处理技术来恢复受损图像的原始信息,使其尽可能接

    2024年02月12日
    浏览(71)
  • (数字图像处理MATLAB+Python)第八章图像复原-第五、六节:盲去卷积复原和几何失真校正

    盲去卷积复原 :当我们考虑图像复原中的盲去卷积复原时,我们可以使用以下数学符号和方程来描述该问题 原始图像 :我们用I表示原始图像,其中I是一个二维离散函数。 I ( x , y ) I(x, y) I ( x , y ) 表示在坐标 ( x , y ) (x, y) ( x , y ) 处的图像强度值 模糊核 :我们用 H H H 表示未

    2024年02月04日
    浏览(59)
  • 数字图像处理——图像退化(大气湍流模型与运动模糊模型)与图像复原(逆滤波与维纳滤波)

    一般来说,图像的退化模型可以表示为 其中g(x,y) 表示退化后的图像,h(x,y)表示退化模型,f(x,y)表示原图像,n(x,y)表示噪声。 在频域上面可以表示为 下面介绍常见的两种退化模型:基于大气湍流物理特性的大气湍流模型和运动模糊模型。 1.大气湍流模型 退化模型: 伴随着

    2024年02月05日
    浏览(42)
  • 数字图像处理实验——数字图像处理初步

    一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式的图像; 2.熟练掌握在MATLAB中如何读取图像及图像的属性信息(大小、颜色、亮度(灰度)、宽度、高度等); 3.掌握如何在MATLAB中按照指定要求存储一副图像的方法; 4.了解图像的算术运算在数字图像中的初步应

    2024年02月04日
    浏览(53)
  • 数字图像处理:实验六 图像分割

    数据分割是由图像处理到图像分析的关键步骤,是图像识别和计算机视觉至关重要的预处理,图像分割后提取的目标可用于图像识别、特征提取,图像搜索等领域。图像分割的基本策略主要是基于图像灰度值的两个特性,即灰度的不连续性和灰度的相似性,因此图像分割方法

    2024年02月06日
    浏览(52)
  • 数字图像处理:实验三 图像增强

    图像增强是数字图像处理过程中常采用的一种方法。为了改善视觉效果或便于人和机器对图像的理解和分析,根据图像的特点或存在的问题采取的改善方法或加强特征的措施称为图像增强。图像增强处理是改变图像视觉效果的手段,增强后的图像便于对它的后续处理。图像增

    2024年02月04日
    浏览(50)
  • 数字图像处理实验四--图像变换

    (图像变换) 实验内容: 对图像lena、cameraman和face进行傅里叶变换,观察图像能量在频谱图中的分布情况。 利用Matlab生成下列图像,并对其进行旋转30度、90度和120度,然后对他们分别进行傅里叶变换。 对图像lena、cameraman和face用DCT变换进行图像压缩,舍掉的变换系数分别小

    2024年04月14日
    浏览(66)
  • 数字信号与图像处理实验三:图像处理基础与图像变换

    ​ 通过本实验加深对数字图像的理解,熟悉MATLAB中的有关函数;应用DCT对图像进行变换;熟悉图像常见的统计指标,实现图像几何变换的基本方法。 ​ 选择两幅图像,读入图像并显示,同时使用Matlab计算图像的大小,灰度平均值、协方差矩阵、灰度标准差和相关系数。 DC

    2024年02月04日
    浏览(61)
  • 数字图像处理实验之Matlab对图像的基本处理

    1、提取Lena图像的左半上角部分,与原始Lena图像在同一个figure中显示,并做适当命名 效果图 2、利用 imnoise , 对原始Lena图像叠加高斯噪声,产生4幅、14幅、140幅的含噪图像。对这些含噪图像采用 相加  运算,来验证、比较图像相加消除叠加性噪声的效果。将原始图像、1幅噪

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包