数字图像处理04_频域处理增强

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015年9月13日 数字图像处理 25
4.3 频域滤波的基本步骤
在频域中直接生成滤波器lpfilter()
function [H,D]=lpfilter(type,M,N,D0,n) [U,V]=dftuv(M,N); D=sqrt(U.^2+V.^2); 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(''); end
即,空域函数f(x)可表示为M个正弦(余弦)函数的累加, F(u)/M为对应频率分量的幅度(系数),因此,F(u) 覆盖的域 (u值) 称为频率域。 从另一角度,空域函数f(x)被表示为直流分量和交流分量 F(0)/M对应的是直流分量的幅值,其余F(u)/M对应交流分量 的幅值。
2015年9月13日 数字图像处理 6
2015年9月13日 数字图像处理
function [U,V]=dftuv(M,N) u=0:(M-1); v=0:(N-1); idx=find(u>M/2); idy=find(v>N/2); u(idx)=u(idx)-M; v(idy)=v(idy)-N; [U,V]=meshgrid(u,v);
j 2 ( ux / M vy / N )
1 M 1 N 1 j 2 ( ux / M vy / N ) f ( x, y) F (u, v)e MN u 0 v 0
2015年9月13日
数字图像处理
13
二维DFT傅里叶变换的性质 平移特性
f ( x, y ) e
j 2 ( u 0 x / M v 0 y / N )
F (u, v) f ( x, y)e
x 0 y 0
M 1 N 1
j 2 ( ux / M vy / N )
for u = 0, 1, 2…M-1 and v = 0, 1, 2…N-1.
2015年9月13日
数字图像处理
8
二维 DFT反变换
二维离散傅立叶逆变换:
1 f ( x, y) MN
2015年9月13日
数字图像处理
16
二维离散傅里叶变换的Matlab实现
函数fft2 — 快速傅里叶变换 格式1:F = fft2(f) 格式2:F = fft2(f, P, Q) 函数ifft2 — 快速傅里叶逆变换 格式: f = ifft2(F) 函数fftshift — 将变换的原点移动到频率矩形中心 格式:Fc = fftshift(F) 函数ifftshift — fftshift函数的逆操作 格式:F = ifftshift(Fc)
傅立叶变换的意义
傅立叶变换可以看作数学的棱镜,将函数基于频率分 成不同成分. 当我们考虑光时,讨论它的光谱或频率谱。同样,傅 立叶变换使我们能通过频率成分来分析一个函数。
这是属于线性滤波核心的重要概念。
2015年9月13日
数字图像处理
7
二维离散傅立叶变换 (DFT) 一个图像尺寸为M×N的函数f(x,y)的离散傅立叶变换 F(u,v): (x = 0, 1, 2…M-1 and y = 0,1,2…N-1)
2015年9月13日
数字图像处理
22
频域滤波的折叠误差干扰
频域滤波的折叠误差干扰
有折叠误差干扰
2015年9月13日 数字图像处理
无折叠误差干扰
23
4.3 频域滤波的基本步骤
4.3.2 DFT滤波的基本步骤
1. 使用函数paddedsize获得填充参数 PQ = paddedsize(size(f)) 2. 得到使用填充的傅里叶变换 F = fft2(f, PQ(1), PQ(2)) 3. 生成一个滤波函数 4. 将变换乘以滤波函数:G = H.*F 5.获得G逆傅里叶变换的实部 g = real(ifft2(G)) 6.将g左上部的矩形修剪为原始大小 g = g(1:size(f, 1), 1:size(f,2))
M 1 u 0
F (u )e
j 2 ux / M
x 0,1,2,...,M 1
2015年9月13日
数字图像处理
5
一维离散傅立叶变换及其反变换(cont…)
观察傅立叶反变换 由欧拉公式 e j cos j sin M 1 1 j 2 ux / M 则 f ( x) F ( u ) e M u 0 1 M 1 F (u )[cos(2 ux / M ) j sin(2 ux / M )] M u 0
2015年9月13日
数字图像处理
15
二维离散傅里叶变换的Matlab实现
在频域原点处变换的值称为傅里叶变换的直流(dc)分量 频域原点 数学上,F(0,0) MATLAB坐标体系为F(1,1) 对于图像,常定为频率矩形中心
傅里叶变换
空间域(x, y)
傅里叶逆变换
频域(u, v)
F (0, 0) f ( x, y )
x 0 y 0
M 1 N 1
即图像f(x,y) 各像素灰度级的和,F(0,0) /MN即 为图像灰度的均值。 F(0,0) 称为频率谱的直流分量(系数), 其它F(u,v) 值称为交流分量(交流系数)。
2015年9月13日 数字图像处理 10
DFT & Images
2015年9月13日
数字图像处理
18
频率域的基本性质
频率域的基本性质
频域的中心邻域对应图像中慢变化部分,较高的频率开始
对应图像中变化较快的部分(如:物体的边缘、线条等)。
2015年9月13日
数字图像处理
19
频域滤波
卷积定理:
空间域的乘法对应频域卷积
2015年9月13日
数字图像处理
功率谱 P(u, v) R (u, v) I (u, v)
2015年9月13日
数字图像处理
12
二维傅里叶变换的性质
周期性
傅里叶级数(DFS)有周期性M×N,反变换也是周期性的。 DFT 是其中的一个周期。
F (u, v) f ( x, y)e
x 0 y 0
M 1 N 1
F (u u0 , v v0 )
j 2 ( ux0 / M v0 y / N )
f ( x x0 , y y0 ) F (u, v)e
当u0=M/2, v0=N/2时
f ( x, y)e j 2 (u0 x / M v0 y / N ) f ( x, y)e j ( x y ) f ( x, y)(1) x y
11
二维DFT的极坐标表示
二维DFT的极坐标表示
F (u) F (u, v) e j (u ,v)
频率谱 相位谱
F (u , v)
R 2 (u , v) I 2 (u , v)
I (u, v) (u, v) arct an R(u, v)
2 2
20
频域滤波的步骤
1. 计算图像的离散傅立叶变换F(u,v) 2. 用滤波函数 H(u,v) 乘以F(u,v) 3. 计算乘积的离散傅立叶反变换
2015年9月13日
数字图像处理
21
频域滤波的折叠误差干扰
使用DFT进行滤波操作,图像及其变换均视为周期 性的。 若周期关于函数的非零部分持续时间很靠近,则对 周期函数执行卷积运算会导致相邻周期间的干扰— —折叠误差干扰。 通过使用零填充函数的方法避免折叠误差干扰。
二维图像的DFT结果可由图像各频率成分的频谱图展示
DFT
DFT
Scanning electron microscope image of an integrated circuit magnified ~2500 times
2015年9月13日 数字图像处理
Fourier spectrum of the image
2015年9月13日 数字图像处理 4
一维离散傅立叶变换及其反变换
离散函数f(x)(其中x=0,1,2,…,M-1)的傅立叶变换:
M 1
F (u )

x 0
f ( x)e j 2 ux / M
u 0,1,2,...,M 1
傅立叶变换是可逆的,F(u)的反变换的反变换:
1 f ( x) M
2015年9月13日
数字图像处理
24
4.3 频域滤波的基本步骤
填充参数计算函数pq=paddedsize(ab,cd,param)
function pq=paddedsize(ab,cd,param) if nargin==1 pq=2*ab; elseif nargin==2 & ~ischar(cd) pq=ab+cd+1; pq=2*ceil(pq/2); elseif nargin==2 m=max(ab); p=2^nextpow2(2*m); pq=[p,p]; elseif nargin==3 m=max([ab cd]); p=2^nextpow2(2*m); pq=[p,p]; else error('error'); end
数字图像处理
第04章 频域图像增强
高振国 gzg2012@dlut.edu.cn
2015年9月13日
数字图像处理
1
内 容
一维离散傅立叶变换及其反变换 二维离散傅立叶变换及其反变换 傅里叶变换的性质 频域滤波
图像平滑 图像锐化 同态ቤተ መጻሕፍቲ ባይዱ波
2015年9月13日
数字图像处理
2
Jean Baptiste Joseph Fourier
2015年9月13日
数字图像处理
17
二维离散傅里叶变换的Matlab实现
示例:test04_01.m
f=imread('rect.tif'); f=im2double(f); F=fft2(f); s1=abs(F); figure; subplot(2,2,1);imshow(f,[]); title('original pic f'); subplot(2,2,2);imshow(s1,[]); title('s1=abs(F)'); s2=fftshift(s1); subplot(2,2,3);imshow(s2,[]); title('s2=fftshift(s1)'); s3=log(1+s2); subplot(2,2,4);imshow(s3,[]); title('s3=log(1+s2)');
26
4.3 频域滤波的基本步骤
频域滤波示例test04_02.m
m=256; f1=zeros(m/2,m);f2=ones(m/2,m)*255; f=[f2;f1]; F=fft2(f); H=lpfilter('gaussian',m,n,sig); G=H.*F; g=real(ifft2(G)); PQ=paddedsize(size(f)); Fp=fft2(f,PQ(1),PQ(2)); Hp=lpfilter('gaussian',PQ(1),PQ(2),2*s ig); Gp=Hp.*Fp; gpp=ifft2(Gp); gp=real(gpp); gpc=gp(1:size(f,1),1:size(f,2)); h=fspecial('gaussian',15,7); gs=imfilter(f,h);
法国数学家傅立叶(生于1768年)在 1822年出版的《热分析理论》一书 中指出:任何周期函数都可以表达为 不同频率的正弦和或余弦和的形式, 即傅立叶级数。 20世纪50年代后期,快速傅立叶变换 算法出现,得到了广泛的应用。
2015年9月13日
数字图像处理
3
The Big Idea
=
任何周期函数都可以表达为不同频率的正弦和 或余弦和的形式,即傅立叶级数。
M 1 N 1 u 0 v 0
F (u, v)e
j 2 ( ux / M vy / N )
for x = 0, 1, 2…M-1 and y = 0, 1, 2…N-1
2015年9月13日
数字图像处理
9
二维 DFT反变换(cont…)
(u,v)=(0,0)位置的傅里叶变换值为
通常在变换前用(-1)x+y 乘以输入图像函数,实现频域 中心化变换: M N x y f ( x, y )( 1) F (u ,v ) 2 2
2015年9月13日 数字图像处理 14
二维DFT傅里叶变换的性质
频率谱的移位
(-1)^x f(x); (-1)^(x+y) f(x); fftshift(fft2(f(x))
相关文档
最新文档