% 用图像绘制:
figure(1);
M = 16;%图片的宽度
N = 16;%图片的高度
A = zeros(M,N);
for k = 0:M
for l = 0:N
for x = 1:M
for y = 1:N
subplot(M,N,(k*(N)+l+1)); %画子图
A(x,y) = cos(2*pi*k*x/M + 2*pi*l*y/N) + sin(2*pi*k*x/M + 2*pi*l*y/N);%求第(k,l)个傅里叶基函数在(x,y)处的值。为可视化虚部也看做实数
end
end
fprintf('%d',k)
fprintf('%d\n',l)
colormap('Cool');%选择色调,这里为Cool
imagesc(A); % 由A(x,y)的值确定颜色
%set(gca,'xaxislocation','top'); % 把x轴换到上方
set(gca,'ydir','reverse'); % 把y轴刻度倒置
title( {['B(', num2str(k), ',',num2str(l),')']})
end
end
另一种可视化
N = 4;
h = zeros(N,N);
figure(1);
for u = 1:N
for v = 1:N
for x = 1:N
for y = 1:N
I(x,y) = exp(j*2*pi*((u-1)*(x-1)+(v-1)*(y-1))/N);
end
end
subplot(N,N,v+N*(u-1)),imshow(I);title(['u=',num2str(u-1),' v=',num2str(v-1)]);
end
end
原理以及参考文献
根据如下公式进行计算即可
https://wenku.baidu.com/view/a8f7916f793e0912a21614791711cc7931b778b8.html