数字图像处理第四章——图像复原(上)

本文深入探讨图像复原,重点关注图像退化模型和噪声模型。介绍了如何使用`imnoise`函数模拟不同类型的噪声,如高斯噪声、椒盐噪声和乘性噪声,以及泊松噪声的生成与分析。实验表明噪声类型和强度对图像质量有显著影响,同时讨论了在添加泊松噪声时遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

数字图像处理—图像复原

复原的目的是在预定意义上改善给定的图像。尽管图像增强图像复原之间存在重叠的部分,但前者主要是主观的处理,而图像复原大部分是客观的处理。复原利用降质现象的先验知识试图重建或恢复一幅退化的图像。因此,复原技术倾向于对退化建模,并用相反的处理来恢复原始图像。

(一)图像退化/复原处理的模型

用退化函数对退化过程建模,它和附加噪声选项一起,作用于输入图像f(x,y),产生一幅退化的图像g(x,y):
在这里插入图片描述
图像退化/复原处理的模型:
在这里插入图片描述
复原的目标就是得到原始图像的估计。我们要使这个估计尽可能接近原始的输入图像。通常,我们对H和η(x,y)知道得越多,图像的估计就越接近f(x,y)。

如果H是线性的,空间不变的过程,那么退化图像在空间域将由下面的式子给出:
在这里插入图片描述
h(x,y)是退化函数的空间表示,“星号”表示卷积。空间域的卷积和频域的乘法组成了傅立叶变换对,所以我们可以用等价的频域表示来写出前面的模型:

由于退化是线性的,因此空间不变的退化函数可以由卷积来建模,类似地,复原处理有时候也称为反卷积

(二)噪声模型

能够模拟噪声的行为和效果的能力是图像复原的核心

2.1 用imnoise函数为图像添加噪声

图像处理工具箱釆用 imnoise 函数,使噪声污染一幅图像。这个函数有如下基本语法:

g = imnoise(f, type, parameters)

注意:函数 imnoise 在为图像添加噪声之前,将图像转换为范围在[0,1]的double类

imnoise 函数有如下形式:

1.将均值为m,方差为var高斯噪声加到图像 f 上。默认为均值是 0、方差是 0.01 的噪声。

g = imnoise(f, ’gaussian', m,var)   

代码编写:

w = imread('D:\数字图像处理\第四章学习\tree.jpg');
%w = imread('D:\数字图像处理\第四章学习\building.jpg');
f = im2double(w);    %把图像变为灰度图像
g = imnoise(f, 'gaussian', 0.1,0.01) ;   %方差为0.01
%g = imnoise(f, 'gaussian', 0.1,0.05) ;       %方差为0.05
%g = imnoise(f, 'gaussian', 0.1,0.2) ;       %方差为0.2
subplot(2, 2, 1), imshow(w), title('原图像');
subplot(2, 2, 2), imshow(g,[]), title('均值为0.1方差为0.01的高斯噪声加到图像');
subplot(2, 2, 3), imshow(g,[]), title('均值为0.1方差为0.05的高斯噪声加到图像');
subplot(2, 2, 4), imshow(g,[]), title('均值为0.1方差为0.2的高斯噪声加到图像');

代码运行效果如下:

实验结论:明显看出对于同一张图片,高斯白噪声方差越大,图像越模糊。而对于不同类型图像,白天室外拍出的图片以及室内强光下拍出的图片在同样方差的高斯白噪声下,图像更清晰,而夜晚光线较差情况下拍出的图片(第一幅夜晚的树)在同样方差的高斯白噪声下,图像更模糊。所以在加入相同方差的高斯噪声的情况下,图像最终的显示效果也与图像自身的清晰度有关。

2.将均值为 0、局部方差为 V的高斯噪声添加到图像 f 上。其中,V 是与 f 大小相同的数组,其中包含了每个点的理想方差值。

g=imnoise (f,localvar,V)    

编写代码:

w = imread('D:\数字图像处理\第四章学习\sea.jpg');
%w = imread('D:\数字图像处理\第四章学习\grapes.jpg');
%w = imread('D:\数字图像处理\第四章学习\building.jpg');
f = im2double(rgb2gray(w));    %把图像变为灰度图像
[n,m]=size(f);
v = rand(n,m);
g = imnoise(f,'localvar',v);    %产生高斯噪声方法
subplot(1, 2, 1), imshow(w), title('原图像');
subplot(1, 2, 2), imshow(g), title('均值为0、局部方差为V的高斯噪声加到图像');

代码运行效果如下:


3.用椒盐噪声污染图像 f。其中,d是噪声密度(也就是包含噪声值的图像区域的百分比)。因此,大约d*nurael (f) 个像素受到影响。 默认的噪声密度是 0.05。

g=imnoise (f, 'salt & pepper  ',d)

代码编写:

w = imread('D:\数字图像处理\第四章学习\tree.jpg');
f = im2double(rgb2gray(w));    %把图像变为灰度图像
g = imnoise (f, 'salt & pepper',0.12);
subplot(1, 3, 1), imshow(w), title('原图像');
subplot(1, 3, 2), imshow(f), title('原图像的灰度图像');
subplot(1, 3, 3), imshow(g), title('椒盐噪声加到图像');

代码运行效果如下:



4. 用方程式 g=f+n.*f 将乘性噪声添加到图像 f 上。其中,n是均值为 0、方差为 v 的均匀分布的随机噪声。var 的默认值是0.04。

g = imnoise(f,'speckle',v)    

编写代码:

w = imread('D:\数字图像处理\第四章学习\face.jpg');
%w = imread('D:\数字图像处理\第四章学习\xiaoma
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值