MATLAN图像处理之图像恢复之维纳滤波,最小二乘法

 

%维纳滤波
%数值的线性图像复原方法
%维纳滤波器寻找一个是统计误差函数
%e^2=E{(f-f^)^2}
%最小估计值 f^  E是期望值操作符  f是未退化的图像  该表达式在频域

%matlab中 维纳滤波是使用函数  deconvwnr 实现的

%fr=deconvwnr(g,PSF)   g代表退化图像,fr是复原图像
%假设信噪比是0  维纳滤波器这种形式就是逆滤波器
%fr=deconvwnr(g,PSF,NSPR)
%假设信噪功率比已知,或是个常量或数组

%约束的最小二乘方法 通过 deconvreg来实现
%fr=deconvreg(g,PSF,NOISEPOWER,RANGE)
%g是被污染的图像  fr是复原的图像,NOISEPOWER与 n^2成比例,RANGE为值的范围
clc
clear
f=checkerboard(8);
PSF=fspecial('motion',5,45);%PSF刚好是个空间滤波器
gb=imfilter(f,PSF,'circular');
noise=imnoise(zeros(size(f)),'gaussian',0,0.001);
g=gb+noise;
subplot(2,2,1)
imshow(f)
subplot(2,2,2)
imshow(PSF)
subplot(2,2,3)
imshow(gb)
subplot(2,2,4)
imshow(g)
fr=deconvreg(g,PSF,8);%最小二乘
figure
subplot(2,2,1)
imshow(g)
title('模糊后的原图')
subplot(2,2,2)
imshow(fr)
title('恢复后')
fr1=deconvreg(g,PSF,0.4,[1e-7 1e7]);%后面的区间是  0.4 的范围  默认1e-10 1e10  第三个值是噪声功率  第二个值是空间滤波器  相当于噪声的空间分布矩阵
subplot(2,2,3)
imshow(fr1)
title('调整参数恢复')
%使用该方法需要对 g的噪声和图像谱有一定的了解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值