Matlab练习:图像去噪(二维图像的FFT&FFT滤波器的综合应用)

这是又一次作业,要求对这个图像去噪。先是要去掉斜线噪声,再是要去掉图片上的两条横线。

我先把结果图像放出来,大家可以自己试一试。

参考代码如下,过段时间我再谈谈我的思路。

%去除斜线噪声
clear,clc,close all;
i=imread('C2MRI 1.jpg');
I=im2double(i);
I1=mean(I,3);
figure,imshow(I1),title('1) Original Image');
x=zeros(850,850);
x(3:847,64:786)=I1;
figure,imshow(x),title('1) Square Image');
If=fft2(x);
figure,imshow(If),title('If');
If1=fftshift(If);
figure,imshow(If1),title('If1');
If2=abs(If1);
figure,imshow(If2),title('If2');
If3=log(If2);
[m,~]=size(If3); 
freq=-m/2:m/2-1; 
figure,imagesc(freq,freq,If3),title('1) FFT Image');
b=zeros(850,850);
for i=1:m
for j=1:m
if(i-460)^2+(j-390)^2>=17^2&&(i-390)^2+(j-460)^2>=17^2
b(i,j)=1;
end
end
end
figure,imagesc(b),title('1) Filter');
I2=If1.*b;
figure,imshow(I2),title('I2');
I3=ifft2(I2);
figure,imshow(I3),title('I3');
I4=abs(I3);
figure,imshow(I4),title('1) Final Square Image');
I5=I4(3:847,64:786);
figure,imshow(I5),title('1) Final Image');
imwrite(I4,'1) Final Square Image.jpg');
imwrite(I5,'1) Final Image.jpg');

%去除横线噪声
clear,clc,close all;
i=imread('1) Final Square Image.jpg');
I1=im2double(i);
figure,imshow(I1),title('2) Original Image');
If=fft2(I1);
figure,imshow(If),title('If');
If1=fftshift(If);
figure,imshow(If1),title('If1');
If2=abs(If1);
figure,imshow(If2),title('If2');
If3=log(If2);
[m,~]=size(If3);
freq=-m/2:m/2-1; 
figure,imagesc(freq,freq,If3),title('2) FFT Image');
b=ones(850,850);
b(1:420,420:430)=0;
b(430:850,420:430)=0;
figure,imagesc(b),title('2) Filter Image');
I2=If1.*b;
figure,imshow(I2),title('I2');
I3=ifft2(I2);
figure,imshow(I3),title('I3');
I4=abs(I3);
figure,imshow(I4),title('2) Final Square Image');
I5=I4(3:847,64:786);
figure,imshow(I5),title('2) Final Image');
imwrite(I5,'2) Final Image.jpg');

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稀世珍宝界徐盛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值