%读原始图像埋哗%
format long
Blurred=imread('fig525(b).bmp')
subplot(1,2,1)imshow( Blurred)title('原图像')
k=0.0025
[m,n]=size(Blurred)
spectrum=zeros(m,n)
H=zeros(m,n)
for u=1:m
for v=1:n
H(u,v)=exp(-k*((u-m/2)^2+(v-n/2)^2)^(5/6))
spectrum(u,v)=H(u,v)^2
end
end
f=double(Blurred)
F1=fftshift(fft2(f))
HW=H./(spectrum+0.001)
restore1=HW.*F1
restored=real(ifft2(ifftshift(restore1)))
subplot(1,2,2)imshow(restored,[])title('自编函数进行维纳滤波')
%调用matlab提供的维纳滤波函数%
figure
hw1=real(ifft2(ifftshift(H)))%转化到空域前液隐上来
result1=deconvwnr(Blurred,hw1,0.001)
result2=ifftshift(result1)%再去图像进行1,3象限对调,2与4象限对慧厅调
subplot(1,2,1)imshow(result2,[])title('调用维纳滤波函数')
你的燃缺轮恢复只是用了一个滤波器,连长度角度都没有用到。这样通用的自然恢复出皮信来有问题。
如果你有清华大学的图像工程,你可以看下里面111页。不扮晌过这里只有思想,没有代码。
祝好运!
望采纳!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)