Matlab|数字图像处理02|图像的傅里叶变换(平移/旋转性质)及图像的离散余弦变换

问题1:x,y方向同时平移后频谱有何变化?

答:经过平移后的傅里叶变换幅值图与原图像得到的傅里叶变换幅值图基本相同,平移不改变频谱的幅值。
代码运行结果:
在这里插入图片描述
在这里插入图片描述
代码:

clc;
clear all;
I=imread('C:\Users\Ch04\4.bmp'); 
fftI=fft2(I);
sfftI=fftshift(fftI);   %求离散傅里叶频谱
%对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱图中央位置
RRfdp1=real(sfftI);
IIfdp1=imag(sfftI); a=sqrt(RRfdp1.^2+IIfdp1.^2);
a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;
figure(4);
subplot(1,2,1),imshow(real(I)),title('同时沿X轴和Y轴平移图');
subplot(1,2,2),imshow(real(a)),title('同时沿X轴和Y轴的傅里叶谱');
问题2:编程验证一幅图旋转45度后,其傅里叶谱图也旋转了45度。

在这里插入图片描述
代码:

%构造原始图像
clc;clear all;
I = zeros(256,256); I(88:168,124:132) = 1;
J = fft2(I); %求原始图像的傅里叶频谱
F = abs(J);
J1 = fftshift(F);
figure;
subplot(2,2,1),imshow(I),title('原图');
subplot(2,2,2),imshow(J1,[5 50]),title('原图的傅里叶谱');
%对原始图像进行旋转
J = imrotate(I,45,'bilinear','crop');
%求旋转后图像的傅里叶频谱
J1 = fft2(J);
F = abs(J1);
J2 = fftshift(F);
%figure;
subplot(2,2,3),imshow(J),title('旋转45度后的图');
subplot(2,2,4),imshow
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值