您的位置:首页 > 产品设计 > UI/UE

数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value

2017-05-07 23:10 1366 查看
实验要求:

Objective:

To observe the Fourier spectrum by FFT and the average value of an image.

Main requirements:

Ability of programming with C, C++, or Matlab.

Instruction manual:

(a) Download Fig. 4.18(a) and compute its (centered) Fourier spectrum.

(b) Display the spectrum.

(c) Use your result in (a) to compute the average value of the image.

实验中我们要观察图像进行FFT后的傅里叶频谱图,并且输出其均值。

代码:

%%
close all;
clc;
clear all;

%%
img = imread('gray_image.jpg');
imshow(img);
title('original image');

% 计算傅里叶变换
img_F = fft2(img);

[M, N] = size(img);
s = sum(abs(img_F(1:M, 1:N)));  % 行求和
s = sum(s);     % 列求和
ave = s / (M * N);
disp(['average value of image is: ',num2str(ave)]);

S = log(1 + abs(img_F));
% figure;
% plot(S);
% title('二维图像显示幅度谱');

x = 0:1:255;
y = 0:1:255;
[x, y] = meshgrid(x, y);
figure;
mesh(S);
title('三维图像显示幅度谱');

img_Q = angle(img_F);
% figure;
% plot(img_Q);
% title('二维图像显示相位谱');

x = 0:1:255;
y = 0:1:255;
[x, y] = meshgrid(x, y);
figure;
mesh(img_Q);
title('三维图像显示相位谱');


实验结果:



上图是原始图像。



上图是FFT之后3维幅度谱。



上图是FFT之后3维幅度谱。



均值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐