约束的最小二乘方滤波详细讲解和代码matlab

约束的最⼩⼆乘⽅滤波详细讲解和代码matlab
约束的最⼩⼆乘⽅滤波
约束的最⼩⼆乘⽅图像复原
维纳滤波图像复原技术是指除了要求了解关于退化系统的传递函数之外,还需要知道未退化图像的功率谱和噪声的功率谱,实际上⽐较困难。endostar
本⽅法仅要求了解图像的噪声⽅差和均值,⽤有约束的最⼩⼆乘⽅图像复原技术进⾏图像的复原。
公式推导
算法实现步骤
(1)估计噪声的均值与⽅差对流层
(1)设置迭代次数和精确度因⼦,设置时应从⼩到⼤逐步设定;选定⼀个初始值给γ,计算
(2)利⽤式(5.9-3)、(5.9-4)和(5.9-5)计算
(3)不断调整参数γ,使得其满⾜(5.9-7),如果不满⾜,返回第⼀步增⼤迭代次数,满⾜则进⾏下⼀步。
(4)利⽤式(5.9-3)计算F(u,v),再求其反傅⾥叶变换,最终得到复原图像。
matlab 代码实现
%清理环境
close all;
clear all;
clc;
%图像载⼊
I =im2double(imread('Fig2.22(a).jpg'));
[h,w,~]=size(I);
figure(1),
subplot(2,2,1),imshow(I),title('原图像');
%模拟运动模糊.
LEN =25;%位移⼤⼩
赣榆县实验中学
THETA =45;%摄像物体逆时针⽅向以theta⾓度运动了len个像素
PSF =fspecial('motion', LEN, THETA);%产⽣运动模糊算⼦,即点扩展函数
blurred =imfilter(I, PSF,'conv','circular');
subplot(2,2,2),imshow(blurred);title('模糊图像');
H =psf2otf(PSF,[h,w]);%退化函数FFT,点扩散函数到光传递函数
%添加加性噪声
硫氰酸钠noise_mean =0;
noise_var =0.00001;
blurred_noisy =imnoise(blurred,'gaussian',noise_mean, noise_var);
subplot(2,2,3),imshow(blurred_noisy),title('带运动模糊和噪声图像');
p =[0-10;-14-1;0-10];%拉普拉斯模板
P =psf2otf(p,[h,w]);%求取P(u,v)
gama =0.001;%参数γ
G =fft2(fftshift(blurred_noisy));%退化图像的傅⾥叶变换
fenzi =conj(H);%公式分⼦部分,conj函数,⽤于求⼀个复数的复共轭,得到H*
fenmu = H.^2+ gama*(abs(P).^2);%公式分母部分
deblurred2 =real(ifftshift(ifft2(fenzi.*G./ fenmu )));%约束最⼩⼆乘⽅滤波在频率域中的表达式
subplot(2,2,4),imshow(deblurred2),title('约束最⼩⼆乘⽅滤波后图像');
%%参数γ调整
gap=1e-6;%调整步长
gama1=1e-6;%初始γ值
a=-0.2;%精确度因⼦
yita=h*w*(noise_mean^2+noise_var);%公式5.9-13
i=0;%迭代次数统计
2008人体艺术
while(true)
i=i+1;
if i>3000%如果复原图像不满意,可以逐步设定
break;
end
Fs=(conj(H).*G)./(abs(H).^2+gama1*(abs(P).^2));
R=G-H.*Fs;
r=ifftshift (real(ifft2(R)));
rr=sum(sum(r.^2));%φ(γ)函数,代价函数
if rr<yita+a
gama1=gama1+gap;
pdielseif rr>yita+a
gama1=gama1-gap;
else
gama1=gama1;
break
end
end
f=real(ifftshift(ifft2(Fs)));
figure(2),
subplot(1,2,1),imshow(blurred_noisy),title('带运动模糊和噪声图像');
subplot(1,2,2),imshow(f),title('约束最⼩⼆乘⽅滤波后图像');
%%使⽤matalb⾃带的函数进⾏设计
% j=edgetaper(blurred_noisy ,PSF);
fre=deconvreg(blurred_noisy,PSF,yita,[1e-71e7]);%matlab⾃带函数
figure(3),
subplot(1,2,1),imshow(blurred_noisy),title('带运动模糊和噪声图像');
subplot(1,2,2),imshow(fre),title('matlab约束最⼩⼆乘⽅滤波后图像');
实验结果
总结
1.调整参数使约束最⼩⼆乘⽅滤波得到的最优复原图像不⼀定在视觉上最好,在实际的复原过程中,可以采⽤交互式的⽅式确定最佳的复原图像。
2.在噪声和模糊都存在的情况下,该滤波⽅式较逆滤波和维纳滤波能够得到较好的效果。
3.γ等于0时,表达式(5.9-3)变成了逆滤波。
代码下载
致谢
感谢诸君观看,如果感觉有⽤的话,点个赞吧!

本文发布于:2024-09-24 13:18:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/477331.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   噪声   滤波   函数   复原   得到
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议