维纳滤波复原不了模糊彩图

x=im2double(imread('pt.jpg'));
figure(1);
imshow(x,[]);
title('原图像');
[width,height]=size(x);%建立二维数组
%添加运动模糊
H_motion=fspecial('motion',18,90);
motion_blur=imfilter(x,H_motion,'conv','circular');
%添加高斯噪声
noise_mean=0;
noise_var=0.001;
motion_blur_noise=imnoise(motion_blur,'gaussian',noise_mean,noise_var);%为了让图片读取更加稳定
figure(2);
subplot(1,2,1);imshow(motion_blur,[]);title('运动模糊');
subplot(1,2,2);imshow(motion_blur_noise,[]);title('运动模糊添加噪声');
x=imread('pt.jpg');
x=x(:,:,1);%变量
[r,r1]=size(x);%创立数组
y1=fftshift(fft2(x));%进行快速傅里叶变换并频谱中心化
[r,r1]=size(y1);
figure(3);
imshow(abs(y1),[0,250000]);
title('原始图像的频谱');
m=1:r;
m1=1:r1;
[m,m1]=meshgrid(m,m1);%创建网格
%添加噪声
noise=20.*imnoise(zeros(r,r1),'gaussian',0,0.008);
figure(4);
subplot(1,2,1);
imshow(noise,[]);
title('白噪声');
a=double(21/100);
b=double(21/100);
t=double(88/100);
f=ones(r,r1);
g=(m-r/2-1).*a+(m1-r1/2-1).*b+eps;
f=t.*sin(pi.*g).*exp(-j.*pi.*g)./(pi.*g);
h=f'.*y1;
tu=ifft2(h);
tu=abs(tu)+noise;
subplot(1,2,2);
imshow(tu,[]);
title('退化的图像');
h=fftshift(fft2(tu));
x=fftshift(fft2(noise));
K=x.*conj(x)./(y1.*conj(y1));
w=(f.*conj(f))'.h./(f.(f.*conj(f)+K'))';
weina=ifft2(fftshift(w));
subplot(1,2,2);
imshow(uint8(weina));
title('维纳滤波的结果');

为什么运行代码的时候其他都能显示彩图,但是维纳滤波结果却显示不了彩图?求问该怎么解决