约束的最小二乘方滤波
约束的最小二乘方图像复原
维纳滤波图像复原技术是指除了要求了解关于退化系统的传递函数之外,还需要知道未退化图像的功率谱和噪声的功率谱,实际上比较困难。
本方法仅要求了解图像的噪声方差和均值,用有约束的最小二乘方图像复原技术进行图像的复原。
公式推导
算法实现步骤
(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');