实验5 图像频域增强

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验5 图像频域增强

一、实验目的

通过本实验使学生掌握使用MATLAB的二维傅里叶变换进行频域增强的方法。

二、实验原理

本实验是基于数字图像处理课程中的图像频域增强理论来设计的。

本实验的准备知识:第四章频域图像增强中的一维傅里叶变换和二维傅里叶变换,频域图像增强的步骤,频域滤波器。根据教材285页到320页的内容,开展本实验。

可能用到的函数:

1、延拓函数 padarray

例:A=[1,2;3,4];

B=padarray(A,[2,3],’post’);

则结果为

B =

1 2 0 0 0

3 4 0 0 0

0 0 0 0 0

0 0 0 0 0

使用该函数实现图像的0延拓。Padarray还有其它用法,请用help查询。

2、低通滤波器生成函数

首先编写dftuv函数,如下

function [U,V]=dftuv(M,N)

%DFTUV Computes meshgrid frequency matrices.

% [U,V]=DFTUV(M,N] computes meshgrid frequency matrices U and V. U

and V are useful for computing frequency-domain filter functions that

can be used with DFTFILT. U and V are both M-by-N.

% Set up range of variables.

u=0:(M-1);

v=0:(N-1);

% Compute the indices for use in meshgrid.

idx=find(u>M/2);

u(idx)=u(idx)-M;

idy=find(v>N/2);

v(idy)=v(idy)-N;

%Compute the meshgrid arrays.

[V,U]=meshgrid(v,u);

然后编写低通滤波器函数

function [H,D]=lpfilter(type,M,N,D0,n)

% LPFILTER computers frequency domain lowpass filters.

% H=lpfilter(TYPE,M,N,D0,n) creates the transfer function of a lowpass

filter, H, of the specified TYPE and size(M-by-N). To view the filter as an image or mesh plot, it should be centered using H=fftshift(H).

% valid values for TYPE, D0, and n are:

% 'ideal' Ideal lowpass filter with cutoff frequency D0. n need not be supplied. D0 must be positive.

% 'btw' Butterworth lowpass filter of ordern, and cutoff D0. The default value for n is 1. D0 must be positive.

% 'gaussian' Gaussian lowpass filter with cutoff (standard deviation)D0.

n need not be supplied. D0 must be positive.

%Use function dftuv to set up the meshgrid arrays needed for computing the required distances.

[U,V]=dftuv(M,N); %

D=sqrt(U.^2+V.^2); % Compute the distances D(U,V)

% Begin filter computations.

switch type

case 'ideal'

H=double(D<=D0);

case 'btw'

if nargin==4

n=1;

end

H=1./(1+(D./D0).^(2*n));

case 'gaussian'

H=exp(-(D.^2)./(2*(D0^2)));

otherwise

error('Unknown filter type')

end

通过调用函数lpfilter可生成相应的滤波器掩膜矩阵。

参考该函数可相应的生成高通滤波器函数。

3、频域滤波

F=fft2(f,size(H,1),size(H,2)); % 对延拓的 f 计算 FFT。注意,这里隐含着对 f 的延拓。

G=real(ifft2(H.*F)); % 滤波

Gf=G(1:size(f,1),1:size(f,2)); %裁剪后的图像

三、实验内容

(一)图像频域增强的步骤

参考教材286页的Figure 4.36,重复该图像中的步骤,并将相应的结果显示出来。

(二)频域低通滤波

产生实验四中的白条图像。设计不同截止频率的理想低通滤波器、Butterworth低通滤波器,对其进行频域增强。观察频域滤波效果,并解释之。

设计不同截止频率的理想低通滤波器、Butterworth低通滤波器,对含高斯噪声的lena 图像进行频域增强。观察频域滤波效果,并解释之。

(三)频域高通滤波

相关文档
最新文档