Matlab图像处理(第5章)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
5.1.5
滤波与滤波器设计
滤波是信号处理的一种最基本而又极为重要的技 术,利用滤波技术可以从复杂的信号中提取出所 需要的信号,抑制不需要的信号。 滤波器就是一种选频器件或结构,它对某一频率 的信号给予很小的衰减,使这部分信号能顺利通 过,而对其他不需要的频率信号则进行大幅度衰 减,尽可能阻止这些信号通过。 在图像处理中,滤波常常用来修改或增强图像, 以提高图像的信息量。
y(t )
f (t , ) x( )d
• 就足够说明任何线性系统的输入与输出 之间的关系。
2
5.1.2
P82 卷积定义:
y(t )
一维卷积
g (t ) x( )d
• 上式表明,线性平移不变系统的输出可以通 过输入信号与一个表征系统特性的函数卷积 得到,这个表征函数叫做系统的冲激响应。
15
5.2
经典数字滤波方法
5.2.1 LP滤波器 通常信号或图像的大部分能量都集中在其 频谱的中、低频段,而在高频部分,图像 中有用的信息常被噪声淹没,因此,可以 用一个降低高频成分的滤波器来达到一种 图像平滑效果。 最简单的LP滤波器有三种:矩形滤波器、 三角形滤波器、高频截止滤波器。
5ห้องสมุดไป่ตู้
卷积常用来实现对信号或图像进行线性运 算(具体见第八章),在图像滤波、去卷 积、去噪音和增强等方面用处较大。
6
5.1.4
卷积定理和相关性定理
卷积定理是线性系统分析中最常用、最 重要的定理之一,该定理指出了傅立叶 变换的一个重要性质:时域中的卷积相 当于频域中的相乘,即:
F f (t ) g (t ) F (s) g ( s)
21
%HPBUTTERWORTH FILTER b=butter(24, 0.6,'high'); subplot(1,2,1),plot(b) h=ftrans2(b); subplot(1,2,2),freqz2(h)
22
5.3
魏纳滤波器及其设计方法
5.3.1 随机变量 5.3.2魏纳滤波原理 5.3.3 魏纳滤波器设计方法 (参见线性系统相关内容)
28
辅助参数P的意义 详细见”help fspecial” 常见的: h=fspecial(‘average’,[r,c]),[r,c]定义算子的大小 h=fspecial(‘gaussian’,[r,c],sigma),[r,c]同上; sigma表示标准偏差 h=fspecial(‘motion’,len,theta),len运动的像素值, 默认值为9,theta为顺时针方向角,默认值为0 h=fspecial(‘disk’,r),r为圆形均值滤波器的半径,滤 波器的大小为2r+1的正方形
19
LPbutterworth滤波器 b=butter(24,0.6); subplot(1,2,1),plot(b) h=ftrans2(b); subplot(1,2,2),freqz2(h)
20
%BPbutterworth filter b=butter(24,[0.2 0.8]); subplot(1,2,1),plot(b) h=ftrans2(b); subplot(1,2,2),freqz2(h)
9
数字滤波器
若滤波器的输入、输出都是离散时间信号,那么 该滤波器的冲激响应也必然是离散的,这样的滤 波器称为数字滤波器。 按照滤波器的时域特性可以将数字滤波器分为无 限冲激响应滤波器(IIR滤波器)和有限冲激响应 滤波器(FIR滤波器)两种。 MATLAB所有滤波器设计函数都将返回一个FIR 滤波器。
29
I = imread('saturn.tif'); subplot(2,2,1);imshow(I);title('Original Image'); h = fspecial('motion',50,45); MotionBlur = imfilter(I,h); subplot(2,2,2);imshow(MotionBlur);title('Motion Blurred Image'); h = fspecial('disk',10); blurred = imfilter(I,h); subplot(2,2,3);imshow(blurred);title('Blurred Image'); h = fspecial('unsharp'); sharpened = imfilter(I,h); subplot(2,2,4);imshow(sharpened);title('Sharpened Image');
3
卷积离散形式为
h(i) f (i) * g (i)
f ( j) g (i j)
j
• 其中,i=0,1,…,m;j=0,1,…n。 • 矩阵形式如下:
g (1) g (2) h G f ... g(N ) g(N ) g (1) ... g ( N 1) ... ... ... ... g (2) f (1) g (3) f (2) ... ... g (1) f ( N )
J=ordfilt2(I,order,domain) 其中参数domain为一个由0和1组成的矩阵, 矩阵大小就是滑动操作时邻域的大小。滑 动到一个新位置,就把邻域中是1的位置对 应的元素取出排序;order为排序后选取第 几个作为输出。 3、滑动邻域操作 nlfilter J=nlfilter(I,[m,n],@fun) 4、列处理操作colfilt J=colfilt(I,[m,n],’sliding’,@fun)
27
函数fspecial(T,P)生成线性空间滤波器算子
. Possible values for T are: (1) 'average' averaging filter (2) 'disk' circular averaging filter (3) 'gaussian' Gaussian lowpass filter (4) ‘laplacian’ filter approximating the 2-D Laplacian operator,使图像的平滑部分变成黑色,使边缘部分突出 (5) 'log' Laplacian of Gaussian filter (6) 'motion' motion filter (7) ‘prewitt’ Prewitt horizontal edge-emphasizing filter,水平边缘增强 (8) 'sobel' Sobel horizontal edge-emphasizing filter (9) 'unsharp' unsharp contrast enhancement filter
23
5.3.4
图像的魏纳滤波方法
对图像进行魏纳滤波主要是为了消除图像中存在 的白噪声。 可以利用MATLAB的winener2函数对一幅图像进 行自适应魏纳滤波。 调用格式: J=winener2(I,[M N],NOISE) 其中,I表示输入图像,[M N]表示卷积使用的邻 域大小,缺省值为[3 3],NOISE是噪声强度,如 果不指定此参数,那么wiener2函数将返回一个 估计的噪声强度。
高通滤波器
高通滤波器也称为高频增强滤波器,其传 递函数在0频率处取值为单位1,随着频率 的增长,传递函数的数值逐渐增加,当频 率增加到一定数值后传递函数又取0值或降 低某个大于1的增益。如果传递函数通过原 点,那么称该滤波器为拉普拉斯滤波器。
18
[B,A]=butter(N,Wn),%LP [B,A]=butter(N,Wn,’high’),%hp [B,A]=butter(N,[W1,W2],’stop’),%BS [B,A]=butter(N,[W1,W2]),%BP
例: I = imread('eight.tif'); J = imnoise(I,'salt & pepper',0.02); K = medfilt2(J); subplot(1,2,1), imshow(J)
subplot(1,2,2), imshow(K)
26
2、统计排序滤波器函数ordfilt2
F
1
F (s)G(s) f (t ) g (t )
7
相关性定理也是线性系统理论中比较重要的 一个定理,该定理描述了函数自变量尺度变 换对其傅立叶变换的影响: 减小自变量的尺度将会展宽函数的傅立叶变 换频谱,而增大自变量的尺度则会压缩函数 的傅立叶变换频谱。即:
1 s F f ( at) F( ) a a
第五章 滤波和滤波器设计
本章要点: 线性系统理论 经典数字滤波方法 魏纳滤波器及其设计方法 MATLAB线性滤波器设计
1
5.1
线性系统理论
5.1.1 线性系统理论 系统是指任何一个接收输入并产生相应输出的实 体。 输入和输出可以是一维、二维和更高维数的。 可以证明,线性函数表达式:
24
I = imread('saturn.tif'); J = imnoise(I,'gaussian',0,0.005); K = wiener2(J,[5 5]); subplot(1,2,1), imshow(J), subplot(1,2,2), imshow(K)
25
补充:非线性滤波器 1. 中值滤波J=medfilt2(I,[m,n]),可消除孤 立的噪声点
12
HP使截止频率以上的信号通过,阻止截止频率以 下的信号通过; BP使某一频带内的信号通过,而对于这个频带范 围以外的信号则给予很大的衰减; BS抑制某一频带内的信号,同时让这一频带以外 的其他信号通过。 BP与BS中有两个截止频率,分别称为上截止频 率和下截止频率。
13
如果信号和噪声的频谱相互重叠,那么就需要使 用现代滤波器。 现代滤波器主要研究如何从含有噪声的数据记录 (又称时间序列)中估计出信号的某些特征或信 号本身。 通常估计信号的信噪比将会高于原始信号。 现代滤波器把信号和噪声都视为随机信号,利用 它们的统计特征(如,自相关函数、功率谱等) 导出一套最佳的估算法,然后予以实现。
10
FIR滤波器是一个对单点或脉冲具有有限响 应范围的滤波器,由于它具有描述方便 (可以用系数矩阵表示)、可以有效防止 图像失真(相位呈线性)、设计可靠、容 易实现、效果稳定等特征,所以成为 MATLAB环境下最理想的滤波工具。
11
数字滤波器
数字滤波器可分为两大类:经典滤波器和现代滤 波器。 经典滤波器是假定输入信号中的有用频率成分和 希望去除的频率成分各占有不同的频带。 经典滤波器又可以分为四种,即低通(LP)滤波 器、高通(HP)滤波器、带通(BP)滤波器和 带阻(BS)滤波器。 LP使截止频率以下的所以信号通过,截止频率以 上的信号则给予很大的衰减,阻止其通过;
4
5.1.3
二维卷积
二维卷积的表达式如下:
h( x, y) f g
f (u, v) g ( x u, y v)dudv
• 二维卷积的离散形式如下:
M 1 N 1
H (i, j )
m 0 n 0
F (m, n)G(i m, j n)
14
魏纳(Wiener)滤波器是一种最基本而常用的现 代滤波方法,这种滤波器以最小均方差作为最优 标准,通过分析输入随机信号和噪声的自相关性, 利用傅立叶变换得到原始信号的最优估计。 在MATLAB中实现wiener滤波的函数为 J=deconvwnr(I,psf) J=deconvwnr(I,psf,nsr) J=deconvwnr(I,psf,ncorr,icorr) 其中,I为降质图像,J为恢复后的图像;psf退化 过程的点扩展函数,nsr信噪比倒数,默认值为0, ncorr,噪声自相关函数,icorr,原图像自相关函数。
16
5.2.2
带通和带阻滤波器
理想带通滤波器: 一对矩形脉冲的冲激响应曲线 (参见《MATLAB与科学计算》) 1.矩形函数的傅立叶变换曲线 2.三角形函数的傅立叶变换曲线 3.一对矩形的傅立叶变换曲线 4.高斯函数的傅立叶变换曲线 5.各种函数的傅立叶变换曲线
17
5.2.3