8
第2章 图像获取
2.3.2 二维连续傅里叶变换
例2.2
figure(1); % 建立图形窗口 1
[u,v] = meshgrid(-1:0.01:1); % 生成二维频域网格
F1 = abs(sinc(u.*pi));
F2 = abs(sinc(v.*pi));
F=F1.*F2; % 计算幅度频谱 F=|F(u,v)|
surf(u,v,F);
% 显示幅度频谱,如图 2.3(b)
shading interp;
% 平滑三维曲面上的小格
axis off; % 关闭坐标系
figure(2); % 建立图形窗口 2
F1=histeq(F); % 扩展 F 的对比度以增强视觉效果
imshow(F1); % 用图像来显示幅度频谱,如图 2.3(c)
第3章 图像变换
3.4.4 二维 FFT 的 MATLAB 实现
例3.2 简单图像及其傅里叶变换
MATLAB
程序:
%
建立简单图像
d
并显示之
d = zeros(32,32); %
图像大小
32
32
d(13:20,13:20) = 1; %
中心白色方块大小为
8
8
figure(1); %
建立图形窗口
1
imshow(d,'notruesize')
;
%
显示图像
d
如图
3.5(a)
所示
%
计算傅里叶变换并显示之
D = fft2(d); %
计算图像
d
的傅里叶变换,
fft2(d) = fft(fft(d).').'
figure(2); %
建立图形窗口
2
imshow(abs(D),[-1 5],'notruesize'); % 显示图像 d 的傅里叶变换谱如 3.5(b)所示
例3.3
MATLAB
图像及其傅里叶变换谱
MATLAB
程序:
figure(1);
load imdemos saturn2; %
装入
MA TLAB
图像
saturn2
imshow(saturn2); %
显示图像
saturn2
如图
3.6(a)
所示
figure(2);
S= fftshift(fft2(saturn2)); %
计算傅里叶变换并移位
imshow(log(abs(S)),[ ]); %
显示傅里叶变换谱如
3.6(b)
所示
例3.4 真彩图像及其傅里叶变换谱
MATLAB
程序:
figure(1);
A=imread('image1.jpg'); %
装入真彩图像,见图
1.1(b)
B=rgb2gray(A); %
将真彩图像转换为灰度图像