rueihua2.m
来自「在matlab中最简单的功能实现去噪、平滑和锐化」· M 代码 · 共 40 行
M
40 行
a=imread('F:\学习\数字图象\作业\第一次上机\小丑.jpg'); %读取
b=double(a); %数据类型转换便于傅立叶变换
F=fftshift(fft2(b)); %傅立叶变换
A=sqrt(real(F).^2+imag(F).^2); %求频谱
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255; %频谱归一化
subplot(1,2,1);imshow(a);subplot(1,2,2);imshow(A);%显示原图及其频谱
%频谱处理(去噪)------------------------------------------------
for i=83:89
for j=74:80
F(j,i) =0;
end
end
for i=100:113
for j=35:45
F(j,i) =0;
end
end
for i=17:30
for j=84:97
F(j,i) =0;
end
end
for i=40:47
for j=49:56
F(j,i) =0;
end
end
%--------------------------------------------------------------
F=F*(1/(1+(80/sqrt(i^2+j^2)^100)));
A=sqrt(real(F).^2+imag(F).^2);
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255; %频谱处理
figure; %打开新窗口
imshow(A); %显示处理后频谱
f=ifft2(ifftshift(F)); %反变换
c=uint8(f); %数据类型还原
figure; %打开新窗口
imshow(c); %去噪之后的图
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?