当前位置:文档之家 > MatLab代码大全

MatLab代码大全

第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)所示

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); %将真彩图像转换为灰度图像

8

下载Word文档免费下载:

MatLab代码大全下载

(共55页)