matlab 实现数字图像的傅立叶变换及滤波锐化

本文详细介绍了如何使用MATLAB进行数字图像处理,包括启动MATLAB程序读取图像并进行傅立叶变换,展示原始图像及其频谱图。接着,文章探讨了如何在图像上添加椒盐和高斯噪声,并通过FFT观察噪声影响。最后,通过高斯低通、巴特沃兹低通、高斯高通和巴特沃兹高通滤波器对比分析了图像的锐化和平滑效果。
摘要由CSDN通过智能技术生成

转载请注明来自我的CSDN博客:黄朝辉的博客

1. 启动MATLAB程序,读入一幅图像;对图像做FFT。使用’subplot’命令,同时显示原始图像其频谱图;

IenaImg=imread('lena.jpg');   %读入原图像文件
fftI=fft2(double(IenaImg));        %二维离散傅立叶变换
sfftI=fftshift(fftI);   %直流分量移到频谱中心
RR=real(sfftI);     %取傅立叶变换的实部
fftImg = log(RR);
subplot(1,2,1)
imshow(IenaImg);        %显示原图像
subplot(1,2,2)
imshow(fftImg, [8,10]);       %显示原图像的频谱

2. 读入一幅图像,分别为图像添加椒盐、高斯噪声,做FFT变换。使用’subplot’命令,将原始图像、原始图像频谱图、添加噪声后的图像,以及噪声图像的频谱图同时显示出来。

lenaImg=imread('lena.jpg');   %读入原图像文件
fftI=fft2(double(lenaImg));        %二维离散傅立叶变换
sfftI=fftshift(fftI);   %直流分量移到频谱中心
RR=real(sfftI);     %取傅立叶变换的实部
fftLenaImg = log(RR);

加入椒盐躁声

saltImg=imnoise(lenaImg,'salt & pepper',0.02); %加入椒盐躁声
fftI=fft2(double(saltImg));        %二维离散傅立叶变换
sfftI=fftshift(fftI);   %直流分量移到频谱中心
RR=real(sfftI);     %取傅立叶变换的实部
fftSaltImg = log(RR);

subplot(2,2,1);
imshow(lenaImg);
subplot(2,2,2);
imshow(fftLenaImg , [8,10]);
subplot(2,2,3);
imshow(saltImg);
subplot(2,2,4);
imshow(fftSaltImg , [8,10]);

加入高斯躁声

ga
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值