数字图像—平移变换对图像傅里叶变换结果的影响(含详细MATLAB代码)

平移对图像的傅里叶变换结果的影响(详细MATLAB代码)。

注:有问题可以私信,互相学习

  1平移图像二维数组,对坐标左右上下平移,数学公式结果如下。

在这里插入图片描述
1由数学关系如上图,对二维数组进行傅里叶变换,影响的是相位。而不改变模值。所以对傅里叶变换模值不变,相位改变。
2接下来演示如何求傅里叶变换后的图像,求取它的模值的二维数组,看看它平移后是否改变。

注:代码直接复制粘贴就可以运行


% 主题:平移对傅里叶变换的影响
%数学关系如上图,可以得知傅里叶变换影响的是相位,而不影响模值。
% 所以对傅里叶变换模值输出得到的图形不变。

%第一步:创建一个矩形图
I=zeros(256);
I1=I;
I1(40:70,10:40)=1;
I2(90:120,10:40)=1;%左右平移
I3(40:70,40:70)=1;%上下平移
figure
imshow(I1);%显示I1

% 第二步:对图形进行二维傅里叶变换
fftI=fft2(I1);

%第三步:为了便于观察,将傅里叶变换的零频率搬移到频谱图的中心位置
sfftI=fftshift(fftI);

%第四步:为了确认傅里叶变换后模值没有改变我们接下来求模值。
%4.1提取傅里叶变换的实数部分值 real 函数求实数值
RRfdp1=real(sfftI);
%4.2提取傅里叶变换的虚数部分值  imag函数求虚数值
IIfdp1=imag(sfftI);
%4.3 求得每个点的模值:实部平方与虚部平方和的开方
a=sqrt(RRfdp1.^2+IIfdp1.^2);
figure
%4.4得到图形每个点的值后,输出图形
imshow(a);

%第五步 为了使得图像更加清晰做增加对比度的处理
%让数组a 减去它的最小值 ,除以它的最大值,再乘以255 
 a1=((a-min(min(a)))/max(max(a)))*255;
figure
imshow(real(a1))

%此处不展示I2 I3 傅里叶变换的过程,与I1相同。读者可自行操作。
%I2 I3的傅里叶变换结果与I1几乎一致,图像效果基本一样,可得到平移不影响模值得结果。






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值