使用matlab编程让图像变清晰,下面附图

发布网友

我来回答

1个回答

热心网友

I= imread('test1.jpg'); 
I=double(I);   
I1=fft2(I);
I2=fftshift(I1); 
[M,N]=size(I2);
D0=80;W=240;
m=fix(M/2); n=fix(N/2);  
for x=1:M
       for y=1:N
          D(x,y)=((x-m).^2+(y-n).^2).^0.5;
          %采用高斯带通滤波处理周期噪声
          H(x,y)=1-exp(-0.5*(((D(x,y).^2-D0^2)./D(x,y)/W)^2));
          I2(x,y)=H(x,y).*I2(x,y);
       end
end

I3=real(ifft2(ifftshift(I2)));
subplot(211),imshow(I,[]);           title('原图');
subplot(212),imshow(I3,[]);          title('滤波后图像');

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com