数字图像处理第七章----小波和多分辨率处理

1 傅里叶变换与小波分析

1.1 傅里叶变换

傅里叶变换可以将信号分解为无限数量的正弦和余弦波。信号傅里叶频谱的时间信息丢失了,我们得到的是一张只有频率和振幅的图,对两个信号,如果只是时间顺序上发生变化,两个信号的频谱很有可能是非常相似的。

在这里插入图片描述
可以看出,虽然信号不同,但它们的频谱是一样的。那我们碰到这样一个频谱,需要对其进行傅里叶逆变换时,逆变换的结果是无法确定的。为了处理这个问题,短时傅里叶变换被提了出来。

1.2 短时傅里叶变换(STFT)

设定一个窗函数,只对窗函数范围内的信息进行分析。
其公式为: X ( n , w ) = ∑ m = − ∞ ∞ x ( m ) w ( n − m ) e − j w m X(n,w)=\sum\limits^{\infty}_{m=-\infty}x(m)w(n-m)e^{-jwm} X(n,w)=m=x(m)w(nm)ejwm
其中 x ( m ) x(m) x(m)为输入信号, w ( m ) w(m) w(m)是窗函数。
在短时傅里叶变换的结果中,频率时间和振幅三个信息都被包含在内。但在这种变换中,一旦选定了窗口大小,整个信号分析过程中都是不变的。那么如果选择的窗口是比较窄的,我们可以捕捉到短时间发生的事件,但同时,我们在频域中得到的响应就会非常平坦(频率分辨率差)。如果我们选择的窗口比较宽,我们就无法捕捉到小事件(时间分辨率差)。在这种情况下,我们如果想要时间分辨率和频率分辨率都比较高,是无法实现的。

2 多分辨率展开

2.1 级数展开

一个信号或函数可以展开为函数的线性组合:
f ( x ) = ∑ k α k φ k ( x ) f(x)=\sum\limits_k\alpha _{k}\varphi _{k}(x) f(x)=kαkφk(x)
其中,k是有限或无限和的整数下标, α k \alpha _{k} αk是具有实数值的展开系数, φ k ( x ) \varphi _{k}(x) φk(x)是具有实数值的展开函数.
如果展开方式唯一,即任何指定的f (x)只有一个 α k \alpha _{k} αk序列与之相对应,则 φ k ( x ) \varphi _{k}(x) φk(x)称为基函数,展开序列 φ k ( x ) {\varphi _{k}(x)} φk(x)称为可表示这一类函数的基。

2.2 尺度函数

对由平方可积的实函数φ(x)通过整数平移和二值尺度可构成函数集合 φ j , k ( x ) = 2 j 2 φ ( 2 j x − k ) φ_{j,k}(x)=2^{\frac{j}{2}}φ(2^jx-k) φj,k(x)=22jφ(2jxk)
从公式我们可以发现,j决定了 φ j , k ( x ) φ_{j,k}(x) φj,k(x)的宽度和高度,即 φ j , k ( x ) φ_{j,k}(x) φj,k(x)的形状随着j变化,因此我们称φ(x)为尺度函数

3 小波变换

3.1小波

小波是指小区域、长度有限、均值为0的波形。小是指信号具有衰减性,波指信号具有波动性。

在这里插入图片描述

其函数可写为: φ a , b ( t ) = 1 a φ ( t − b a ) φ_a,_b(t)=\frac{1}{\sqrt a}φ(\frac{t-b}{a}) φa,b(t)=a 1φ(atb)
其中,a被称为缩放参数,b被称为移动或位置参数。从公式可以看出,小波主要进行缩放和平移两个操作。
缩放:压缩或伸展基本小波,缩放系数越小,小波越窄
平移:小波的延迟或超前
小波的缩放因子越小,小波越窄,信号的频率越高,度量信号的细节变化。
小波的缩放因子越大,小波越宽,信号的频率越低,度量信号的粗糙程度。

3.2 小波变换

与傅里叶变换不同,小波变换的主要要素是不同缩放和不同位置的小波。通过缩放母小波的宽度来获得信号的频率信息,通过平移母小波的位置来获得信号的时间信息。
缩放和平移操作是为了计算小波系数。大的缩放因子计算的系数称为信号的近似值,表示信号的低频分量。小的缩放因子计算的系数称为信号的细节值,表示信号的高频分量

3.2.1 连续小波变换

连续小波变换可以通过公式
C W T ( a , b ) = 1 a ∫ − ∞ ∞ f ( t ) φ ∗ ( t − b a ) d t CWT(a,b)=\frac{1}{\sqrt a}\int\limits^{\infty}_{-\infty} f(t)φ^*(\frac{t-b}{a})dt CWT(a,b)=a 1f(t)φ(atb)dt 来表示。

3.2.2 离散小波变换

在连续小波变换中,a和b是连续参数,我们在变换时就会生成大量小波选项,数据量非常庞大。在此情况下,如果我们选择离散的参数,降低采样数,我们就可以达到减少数据量的目的。a和b的离散值的选择方法有两种:
(1)冗余小波变换
冗余小波变换中, a = a 0 m , b = n b 0 a 0 m a=a_0^m,b=nb_0a_0^m a=a0m,b=nb0a0m,其中, a 0 a_0 a0为一个常数。通过变化n,m就可以得到不同宽度,位置的小波。将 a , b a,b a,b得值代入公式,我们就可以得到离散小波函数及离散小波变换公式:
φ m , n ( k ) = a 0 − m 2 φ ( a 0 − m ( k − n b 0 a 0 m ) ) φ_m,_n(k)=a_0^{-\frac{m}{2}}φ(a_0^{-m}(k-nb_0a_0^m)) φm,n(k)=a02mφ(a0m(knb0a0m))
D W T ( m , n ) = a 0 − m 2 ∑ − ∞ ∞ f ( k ) φ ∗ ( a 0 − m ( k − n b 0 a 0 m ) DWT(m,n)=a_0^{-\frac{m}{2}}\sum\limits^{\infty}_{-\infty}f(k)φ^*(a_0^{-m}(k-nb_0a_0^m) DWT(m,n)=a02mf(k)φ(a0m(knb0a0m)
(2)多解析度分析
在多解析度分析中,a和b的值均为2的整数次幂。公式就变为:
φ m , n ( k ) = 2 − m 2 φ ( 2 − m ( k − n 2 m ) ) φ_m,_n(k)=2^{-\frac{m}{2}}φ(2^{-m}(k-n2^m)) φm,n(k)=22mφ(2m(kn2m))
D W T ( m , n ) = 2 − m 2 ∑ − ∞ ∞ f ( k ) φ ∗ ( 2 − m ( k − n 2 m ) DWT(m,n)=2^{-\frac{m}{2}}\sum\limits^{\infty}_{-\infty}f(k)φ^*(2^{-m}(k-n2^m) DWT(m,n)=22mf(k)φ(2m(kn2m)

3.3 滤波组原理

让信号通过高通滤波器,然后进行下采样,可以得到信号的高频分量(细节系数),让信号通过低通滤波器,然后进行下采样,可以得到信号的低频分量(近似系数)。
在小波中,我们有多层次的分解,如果想进一步分解信号,近似系数会被进一步分解,而细节系数一般不再进行分解。

在这里插入图片描述

故有时我们认为小波变换可以表示为低通滤波器和高通滤波器的和。

3.4 小波重构

小波重构是指利用小波分解的系数还原出原始信号,它是分解的逆过程。将系数进行插值后传输到重构滤波器,并将结果相加,就可以得到原信号。

在这里插入图片描述

4 小波变换应用

小波变换的应用有很多,如:信号压缩、降噪、边界探测、图像融合、图像增强等,其中,比较重要的应用是信号压缩及降噪。

4.1 信号压缩

DWT系数非常小,可以被清零,那么清零后,很明显信号的大小会被缩减,故DWT常被用于信号压缩。

I=imread('coins.png');            
subplot(221); imshow(I);             
title('原始图像');                  
[c,s]=wavedec2(I,2,'bior3.7');%对小波进行分解
cal=appcoef2(c,s,'bior3.7',1);%提取小波近似系数 
%提取小波细节系数 
ch1=detcoef2('h',c,s,1);      %水平方向
cv1=detcoef2('v',c,s,1);      %垂直方向
cd1=detcoef2('d',c,s,1);      %斜线方向
a1=wrcoef2('a',c,s,'bior3.7',1);%小波重构
h1=wrcoef2('h',c,s,'bior3.7',1);
v1=wrcoef2('v',c,s,'bior3.7',1);
d1=wrcoef2('d',c,s,'bior3.7',1);
c1=[a1,h1;v1,d1];
subplot(222),imshow(c1,[]);
title ('分解后低频和高频信息');
ca1=appcoef2(c,s,'bior3.7',1);%提取近似系数
ca1=wcodemat(ca1,440,'mat',0);%量化编码   
%改变图像高度并显示
ca1=0.5*ca1;
subplot(223);imshow(cal,[]);
title('压缩图像');
ca2=appcoef2(c,s,'bior3.7',2);
ca2=wcodemat(ca2,440,'mat',0);
ca2=0.25*ca2;
subplot(224);imshow(ca2,[]);
title('第二次压缩图像');

在这里插入图片描述
第一次压缩图像后,图像的色彩发生了明显的变化,但其他的信息基本保留了下来,进行了二次压缩后,图像变得非常模糊,留下了的信息不多了。

4.2 小波去噪

使用小波分析可以将原始信号分为一系列的近似分量和细节分量,信号的噪声主要集中在信号的细节分量上,使用一定的阈值处理细节分量后,在经过小波重构就可以得到平滑的信号。
在阈值处理时,常用的门限有硬门限和软门限两种。
硬门限:当数据的绝对值小于给定的门限时,令其为0,其他数据值不变
软门限:当数据的绝对值小于给定的门限值时,令其为0,然后把其他数据点向0收缩

clear
x=imread('coins.png');
x=imnoise(x,'salt & pepper',0.02);
subplot(1,2,1);imshow(x);
[c,s] = wavedec2(x,2,'bior3.7');
n = [1,2];
p = [10.12,23.28];%设置阈值
nc = wthcoef2('h',c,s,n,p,'s');
nc = wthcoef2('v',nc,s,n,p,'s');
nc = wthcoef2('d',nc,s,n,p,'s');
x1=wrcoef2('a',c,s,'bior3.7',1);%小波重构
subplot(1,2,2);imshow(x1,[]);
title('去噪后');

在这里插入图片描述
可以看出,去噪后图像的成像效果好了很多,已经不影响我们观察,如果感觉图像还是模糊的话我们可以对阈值进行调整,也可以进行二次降噪。

5 总结

本章我们首先了解了一下傅里叶变换和短时傅里叶变换的缺点,然后由此引出了小波变换。学习了小波及小波变换的概念及小波变换的方法,然后学习了小波重构。最后,利用小波变换对图像进行压缩、降噪等处理,得到了不错的效果。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值