%% 学习目标: Lucy迭代算法对模糊噪声图像进行恢复
clear all;
close all;
I = checkerboard(12);
PSF = fspecial('gaussian',8,11);
V = .0002;
BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);
WT = zeros(size(I));
WT(5:end-4,5:end-4) = 1;
J1 = deconvlucy(BlurredNoisy,PSF); %仅仅通过PSF点扩展函数来恢复,边缘和纹理会模糊
J2 = deconvlucy(BlurredNoisy,PSF,20,sqrt(V)); %迭代20次,sqrt(V)是偏离阈值
% 当像素值偏离原值在偏离阈值范围内就不用迭代了,保留图像细节,又控制噪声
% 纹理清晰但是边缘模糊
J3 = deconvlucy(BlurredNoisy,PSF,20,sqrt(V),WT);
%WT是数组,为每一个像素分配一个权重
% 边缘也变得更加清晰
subplot(2,2,1);
imshow(BlurredNoisy);
title('S = Blurred and Noisy');
subplot(2,2,2);
imshow(J1);
title('deconvlucy(S,PSF)');
subplot(2,2,3);
imshow(J2);
title('deconvlucy(S,PSF,NI,DP)');
subplot(2,2,4);
imshow(J3);
title('deconvlucy(S,PSF,NI,DP,WT)');
%% 大仙QQ:1960009019
%% 在线教育微信公众号:大仙一品堂