%读原始图像%
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('调用维纳滤波函数昌郑')
噪音非常小。图像复原基本思路,弄清退化原因,建立退化模型,反向推演,恢复图像。逆滤波复原过程,对退化的图像进行戚哗简二位傅里叶变高裤换。计算系芦兆统点扩散函数的二位傅里叶变换,引入Hfx,fy计算并且对结果进行逆傅里叶变换。
CLC全部清除%读取原始图像
格式长
模糊= imread('fig525(B)BMP')
插曲(1,2,1) imshow(模糊)标题(原始图像)
%自我功能维纳滤波
K = 0.0025
[M,N] =尺寸(模糊)
频谱= 0(M,N)
H =零(M,N)
为u = 1:M
为V = 1:
H(U,V)= exp(-K *((UM / 2)^ 2 +(VN / 2)^ 2)察孙^(5/6))
光谱(U, V)= H(U,V)^ 2
结束
结束
F =双(模糊)
F1 = fftshift(FFT2(F))
HW = H /(频谱+0.001)
restore1 = HW。 * F1
恢复=实际(ifft2(ifftshift(restore1)滚猛))
插曲(1,2,2),imshow(恢复[])标题(“自功能的维纳滤波')
%调用matlab的维纳%
数字过滤器功能
HW1 =实际(ifft2(ifftshift(H)))转化空域起来
RESULT1 = deconvwnr(模糊HW1,0.001)
结果2 = ifftshift(RESULT1)%
插曲(1逆转图片交换,1,3象限,大没桥四象限,2,1)imshow(结果2,[])标题(“呼叫维纳滤波功能')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)