失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【matlab】图像傅里叶变换与反变换

【matlab】图像傅里叶变换与反变换

时间:2020-09-16 07:25:45

相关推荐

【matlab】图像傅里叶变换与反变换

实验原理:

傅里叶变换是一种函数在空间域和频域的变换,从空间域变到频域是傅里叶变换,从频域变到空间域是傅里叶反变换。在频域中,频率越大说明原始信号变化速度越快;频率越小说明原始信号变化越平缓。高频分量解释信号的突变部分,低频分量决定信号的整体形象。

在图像处理中,频域反应了图像在空域中灰度的变化速度,也就是图像的梯度大小。对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量;图像的噪声大部分情况下是高频部分,图像变化平缓的部分则为低频分量。

采用快速傅里叶变换(FFT)算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点N越多,FFT算法计算量的节省就越显著。

代码实现:

clear;clc;close%读入图片uint8类型 灰度图img = imread('08.png');%变换之后为complex double类型imgfft = fft2(img);%abs求模imgfft2 = log(abs(imgfft));%移中imgfft3 = fftshift(imgfft);imgfft4 = log(abs(imgfft3));%反变换imgfft5 = ifftshift(imgfft3);imgfft6 = ifft2(imgfft5);%画图subplot(221)imshow(img,[])title('原图')subplot(222)imshow(imgfft2,[])title('频谱图')subplot(223)imshow(imgfft4,[])title('移中后的频谱图')subplot(224)imshow(imgfft6,[])title('反变换')

注意:

1.变换前需要将图像转成灰度图

2.傅里叶变换后的结果为复数,需要用abs求其模,而模的值范围较大需要用log进行缩放

3.imshow(T,[])会根据灰度图的数值范围来显示图像

实验结果:

如果觉得《【matlab】图像傅里叶变换与反变换》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。