如何用matlab编程将运动模糊图像用维纳滤波法复原?

2024-12-01 10:08:07
推荐回答(2个)
回答1:

PSF
=
fspecial('motion',len,ang);
%建立扩散子,其中len是模糊长度,ang是模糊角度
img2=deconvlucy(img,PSF,n);
%用lucy-richardson方法复原图像,其中img是运动模糊图像,PSF是扩散子,n是迭代次数,img2是复原图像

回答2:

%原始图像中加入方差为0.005的高斯白噪声,并通过维纳滤波
J=imnoise(I,'gaussian',0,0.005);
subplot(3,3,2);imshow(J);title('gaussian blurred image');
J0=wiener2(J,[10 10]);
subplot(3,3,3);imshow(J0);title('image tracked with wiener filter');