数字图像处理 小丑去噪

实现原理

傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。

对于二维信号,二维Fourier变换定义为:
在这里插入图片描述
逆变换:
在这里插入图片描述
二维离散傅立叶变换为:
在这里插入图片描述
逆变换:
在这里插入图片描述

实现代码

I2 = imread ('xiaochou.tif');                        %读入原图像文件
I =rgb2gray(I2);
FFT = fft2(I);
myangle = angle(FFT);                             
fftI=fft2(I);                                        %二维离散傅立叶变换
sfftI=fftshift(fftI);                                %直流分量移到频谱中心
RR=real(sfftI);                                      %取傅立叶变换的实部
II=imag(sfftI);                                      %取傅立叶变换的虚部
A=sqrt(RR.^2+II.^2);                                 %计算频谱幅值
A=(A-min(min(A)))./(max(max(A))-min(min(A)))*225;    %归一化
B=A;
[m,n]=size(A);
x=35;
y=19;
A(1:m/2-y,n/2+x:n)= 0;
A(m/2+y:m,1:n/2-x) = 0;
j=15;
k=10;
A(1:m/2-k,1:n/2-j)= 0;
A(m/2+k:m,n/2+j:n) = 0;                                                     % myangle = angle(FFT);   
aaa = ifftshift(A);                                   % 将处理后的幅度图反移位,恢复到正常状态
bbb = aaa.*cos(myangle) + aaa.*sin(myangle).*1i;      % 幅度值和相位值重新进行结合,得到复数
fr = abs(ifft2(bbb));                                 % 进行傅里叶反变换,得到处理后的时域图像
ret = im2uint8(mat2gray(fr)); 
figure;
subplot(221),imshow(B),title('原图像频谱');
subplot(222),imshow(A),title('处理后图像频谱');
subplot(223),imshow(I),title('原图像');
subplot(224),imshow(ret),title('处理后图像');       %去除高频成分后的图像

最后效果
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ani0vo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值