实验5 图像频域增强
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 图像进行频域增强。观察频域滤波效果,并解释之。
(三)频域高通滤波