使用Matlab对灰度图像编程实现2D的傅里叶变换
2015-07-29 21:53
387 查看
1. 先载入一幅灰度图像,如下:
(非灰度图)
2. 利用函数fft2,对其进行快速傅立叶变换, 并利用函数fftshift 将变换后的图像原点移动到频率矩形的中心。
3. 利用abs()函数来得到傅立叶频谱;angle()函数得到相位图;
4. 利用imshow 来可视化图像,观察图像的特点;
一. 结果(图像):
二. 分析说明:
1. 在载入图片的时候要注意图片要存放到该文件的文件夹中。
2. 下载的图片看似是灰度图,实际上并非是灰度图,所以加多了一句代码“A=rgb2gray(A)”
三. 附件程序
A=imread('1.jpg'); %载入图片
A=rgb2gray(A)
B=fftshift(fft2(A)); % 进行傅立叶变换
subplot(231)
imshow(A);
title('原始图像');
subplot(232)
imshow(abs(B),[ ]);
title('原始频谱图');
subplot(233)
imshow(log(abs(B)),[ ]);
title('取对数后的频谱图');
subplot(234)
imshow(angle(B),[ ]);
title('相位图');
subplot(235)
imshow(real(B),[ ]);
title('实部图');
subplot(236)
imshow(imag(B),[ ]);
title('虚部图');
colormap(jet(64)) %给图片上色
转自:http://blog.163.com/luoyun_dreamer/blog/static/215529070201322612858437/
(非灰度图)
2. 利用函数fft2,对其进行快速傅立叶变换, 并利用函数fftshift 将变换后的图像原点移动到频率矩形的中心。
3. 利用abs()函数来得到傅立叶频谱;angle()函数得到相位图;
4. 利用imshow 来可视化图像,观察图像的特点;
一. 结果(图像):
二. 分析说明:
1. 在载入图片的时候要注意图片要存放到该文件的文件夹中。
2. 下载的图片看似是灰度图,实际上并非是灰度图,所以加多了一句代码“A=rgb2gray(A)”
三. 附件程序
A=imread('1.jpg'); %载入图片
A=rgb2gray(A)
B=fftshift(fft2(A)); % 进行傅立叶变换
subplot(231)
imshow(A);
title('原始图像');
subplot(232)
imshow(abs(B),[ ]);
title('原始频谱图');
subplot(233)
imshow(log(abs(B)),[ ]);
title('取对数后的频谱图');
subplot(234)
imshow(angle(B),[ ]);
title('相位图');
subplot(235)
imshow(real(B),[ ]);
title('实部图');
subplot(236)
imshow(imag(B),[ ]);
title('虚部图');
colormap(jet(64)) %给图片上色
转自:http://blog.163.com/luoyun_dreamer/blog/static/215529070201322612858437/
相关文章推荐
- MATLAB view函数详解
- 一个Matlab中批量处理文件的实例
- Matlab--数据排序
- Matlab之插值
- 模式识别 - 处理多个演示样本研究(MIL)特点(matlab)
- matab程序转换为.exe可执行文件方法
- matlab 多元回归分析 regress、 nlinfit 、stepwise函数
- Matlab--概率密度函数
- Windows下编译Caffe并编译Matlab接口
- matlab统计一个数组中各元素出现的频数、频率
- Matlab 自相关检测 :自相关函数xcorr
- Intel® MKL with Numpy, Scipy, Matlab, C#, Python, NAG and more
- 在matlab中进行地理坐标和像素坐标的相互转换
- Python 之 h5py 读取 matlab 中 .mat 文件 cell 方法浅析
- Matlab实现求a到b被c整除的个数
- MATLAB中从.fig文件导出数据
- Matlab--函数极值最值零点
- Matlab--积分微分
- ADC测试matlab代码
- matlab的滤波器仿真——低通滤波器与插值滤波器