matlab 傅里叶平移,图像处理:二维傅里叶变化的平移性_matlab实现

傅里叶变化的平移性:

e1dc091fc6dcf16ea1adbfa5a655e53b.png

matlab代码验证过程实现:

%% 研究傅里叶变化 的 平移特性

%空间域 乘以exp ,频率域移动

clc;clear

I = imread('rice.jpg');

I = rgb2gray(I);

I = im2double(I);

figure;subplot(1, 3, 1);imshow(I);title('原图');

%傅里叶变化

f = fft2(I);

f = fftshift(log(1+abs(f)));

subplot(1, 3, 2);imshow(f, []);title('频谱图');

% 图片大小为256*256

% 假设,图像大小为10mm , 那么采样频率为25.6,系统可采集最高频率为25.6/2,

% 每个像素大小为10/256 mm,单位频率是0.1

kx=25.6/2; %频率。 如果为25.6/2,则移动到最边缘。 为25.6则为一个周期重新回来。

ky=0; %测试只在x方向(行移动)发生平移

[M,N]=size(I);

MM=linspace(0,10,256);%1-10 分为256个数,存在MM中。10mm的空间分为256份

NN=linspace(0,10,256);

for i=1:N

for j=1:M %MM(i),NN(j)相当于空间真实坐标

r(i,j)= exp(1i.*2.*pi.*kx.*MM(i) + 1i.*2.*pi .*ky.*NN(j)); %2pi写在里面了

end

end

I2= I .* r;

f2 = fft2(I2);

f2 = fftshift(log(1+abs(f2)));

subplot(1, 3, 3);imshow(f2, []);title('平移后-频谱图2');

结果:

239b7757735b1e85d73354d58b7dc6b7.png

中间频率的解释可以参见我的另一篇博客:

https://blog.csdn.net/tyfwin/article/details/89840154

本人的水平有限,还望批评指正。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值