二维傅立叶变换和二维傅立叶反变换

二维傅立叶变换和二维傅立叶反变换

文章转载自:http://blog.sina.com.cn/s/blog_6c41e2f301016tpp.html

图像的变换
1. 离散傅立叶变换的 Matlab 实现
      Matlab 函数 fft、fft2 和 fftn 分别可以实现一维、二维和 N 维 DFT 算法;这些函数的调用格式如下:
         A=fft(X,N,DIM)
      其中,X 表示输入图像;

            N 表示采样间隔点,如果 X 小于该数值,那么 Matlab 将会对 X 进行零填充,

               否则将进行截取,使之长度为 N ;

               DIM 表示要进行离散傅立叶变换。

        A=fft2(X,MROWS,NCOLS)
      其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。

        A=fftn(X,SIZE)
      其中,SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。

      2.离散傅立叶反变换的 Matlab 实现
     Matlab 函数 ifft、ifft2 和 ifftn 则用来计算反 DFT 。函数 ifft、ifft2 和 ifftn的调用格式于对应的离散傅立叶变换函数一致。

 

例子:图像的二维傅立叶频谱

% 读入原始图像
img=imread('rabbit_0.bmp');
I=rgb2gray(img);imshow(I)
% 求离散傅立叶频谱
J=fftshift(fft2(I));

K=log(abs(J));
figure;
subplot(1,2,1);imshow(img,[]);
subplot(1,2,2);imshow(K,[]);

六. 举例

i=imread('e:\w01.tif');

figure(1);

imshow(i);

colorbar;

j=fft2(i);

k=fftshift(j);

figure(2);

l=log(abs(k));

imshow(l,[]);

colorbar

n=ifft2(j)/255;

figure(3);

imshow(n);

colorbar;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值