图像傅里叶变换——MATLAB

来源:互联网 发布:jquery.ajaxform.js 编辑:程序博客网 时间:2024/06/10 01:39

clc;
clear all;
close all;
img=imread(‘sophie.tif’);
fimg=fft2(img);%做付fft变换-abs(Y)可得到幅度谱,angle(Y)可得到相位谱。
ffimg=fftshift(fimg);%将零点移动到中心
simg=log(1+abs(ffimg));%对幅值做对数变换,压缩动态范围
figure;
subplot(1,2,1);imshow(img);
title(‘原图’);
subplot(1,2,2);imshow(simg,[]);
title(‘幅值’);

处理结果如图:

这里写图片描述

fft2()函数执行二维快速傅里叶变换。
Y = fft2(X)返回用快速傅立叶变换(FFT)算法计算的X的二维离散傅立叶变换(DFT)。 结果Y的大小与X相同。
Y = fft2(X,m,n)截断X,或使用零填充X,即指定X的第一维和第二维的长度。
fft2()输出的频谱数据并不是按零频为中心排列的,而是将零频分布在四角,fftshift()函数将零频分量转换为频谱中心。

原创粉丝点击