日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小波变换理论讲解

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小波变换理论讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文中所用代碼可到此下載:http://www.codeforge.cn/read/244807/waveback.m__html

下面先對小波變換的基本理論進行闡述,再結合程序及運行結果對其更深入地理解。

一、小波變換理論

(一)小波序列

? ? ??(t)∈L^2 (R),稱?(t)為一個基本的小波和母小波,其中L^2 (R)指均方可積空間。小波一定滿足:

這也是稱之為“小波”的意義。將母函數進行伸縮和平移后,可以得到小波序列:(a,b∈R,a≠0),其中a,b分別為伸縮因子和平移因子。

(二)連續小波變換及逆變換

? ? ?任意的函數f(t)∈L^2 (R)的連續小波變換為:,記,其中相當于小波變換的系數。可以看出連續小波變換就是信號與小波函數的卷積,小波函數事實上就是信號處理的一個濾波器。其逆變換為:

? ?

? ? ?小波變換實質上將L^2 (R)空間中的任意函數f(t)表示為其在不同伸縮因子和平移因子上的投影的疊加,與傅里葉變換僅將f(t)投影到頻率域不同的是,小波變換將一維時域函數映射到二維“時間-尺度”域上,因此f(t)在小波基上的展開具有多分辨率的特性。通過調整伸縮因子和平移因子,可以得到具有不同時頻寬度的小波以匹配原始信號的任意位置,達到對信號的時頻局部化分析的目的。舉個粗略的例子,就像用鏡頭觀察目標f(t),?(t)代表鏡頭所起的作用,b相當于使鏡頭相對于目標平行移動,a相當于鏡頭向目標推進或遠離,由此可見b僅僅影響時頻窗口在相平面時間軸上的位置,而a不僅影響時頻窗口在頻率軸上的位置,也影響窗口的形狀。這樣小波變換對不同頻率在時域上的取樣步長是可調節的,也就是多分辨率。

(三)離散小波變換及逆變換

? ? ?對參數a,b進行展開后,就得到任意時刻任意精度的頻譜,但是對實際精度來講,計算量太大,所以將其離散化。從理論上可以證明,將連續小波變換成離散小波變換,信號的基本信息并不會丟失。相反由于小波基函數的正交性,使得小波空間中兩點之間因冗余造成的關聯消失,同時由于正交性,使得計算的誤差更小,變換結果“時—頻函數”更能反映信號本身的性質。 離散小波函數表示為: 離散小波系數表示為:
如果,則稱為二進小波。
? ? ? 數學中,函數空間是從集合X到集合Y的給定種類的函數幾何,將平方可積的函數f(t)∈L^2 (R)看成是某一逐級逼近的極限情況,每級逼近都是用某一低通平滑函數?(t)對f(t)做平滑的結果,在逐級逼近時,平滑函數?(t)也做逐級伸縮,這就是所謂的“多分辨率”。將空間逐級二分解:


? ? ?這種剖分方式使得空間與空間正交,即:,任意信號f(t)∈L^2 (R)可用多分辨率分析公式表示為:
式中右邊第一項是f(t)在尺度空間的投影,是f(t)的平滑近似,第二項是f(t)在小波空間的投影,是對f(t)的細節補充。j是任意尺度開始,通常稱為近似值或尺度系數,稱為細節或小波系數。展開系數計算如下:

? ? ?如果展開函數是雙正交基的一部分,上式中的φ和項要分別用他們的對偶函數代替。
? ? 子小波分析中小波函數用于構建坐標系,但是用小波函數來表示一個信號時,它其實是將信號映射在了時頻平面內,所以在實現過程中需要一個頻域的底座和平臺,來讓信號f(t)與之做映射,而且是在一定的頻率分辨率上進行的,這個起到底座的函數就是尺度函數,在尺度函數的平臺下對頻率的分析,或者說對信號的表達就是小波函數的作用了。在濾波實現中,低頻濾波就是尺度函數的作用,小波函數的實現相當于高頻濾波器。

便于理解,舉一個具體的例子:

使用哈爾小波將y=x^2 的小波序列展開,其中哈爾尺度函數為:

哈爾小波函數:

因此展開系數為:

則得到如下的小波序列展開:


二、小波變換實例

? ? ?程序目錄如下:
? ? ?主程序貼出如下: [plain] view plaincopy print?
  • g?=?imread('3.jpg');??
  • f?=?rgb2gray(g);??
  • imshow(f);??
  • title('原圖');??
  • [c,s]?=?wavefast(f,1,'sym4');??
  • figure;wave2gray(c,s,-6);??
  • title('原圖分解為一個近似圖和3個細節圖');??
  • [nc,y]?=?wavecut('a',c,s);??
  • figure;wave2gray(nc,s,-6);??
  • title('去掉近似圖');??
  • edges?=?abs(waveback(nc,s,'sym4'));??
  • figure;imshow(mat2gray(edges));??
  • title('3個細節圖重構出的原圖像細節');??
  • g = imread('3.jpg'); f = rgb2gray(g); imshow(f); title('原圖'); [c,s] = wavefast(f,1,'sym4'); figure;wave2gray(c,s,-6); title('原圖分解為一個近似圖和3個細節圖'); [nc,y] = wavecut('a',c,s); figure;wave2gray(nc,s,-6); title('去掉近似圖'); edges = abs(waveback(nc,s,'sym4')); figure;imshow(mat2gray(edges)); title('3個細節圖重構出的原圖像細節');? ? ?其間所用的函數文件若你所安裝的matlab中沒有,可到文中開頭所提及的網址中查找,自行下載或粘貼上。程序正確運行的結果如下:





    ? ?
    ? 如上圖所示,經過小波變換,將原灰度圖像f分解為1個近似圖和水平、垂直、對角線方向的細節輪廓圖(均為分解系數構成),若要將這些信息合并成一幅邊緣圖像,可簡單地把生成變換的近似系數設為零,計算它的反變換,即在去掉近似圖的情況下用3個細節圖進行重構,類似的過程也可用于隔離垂直邊緣或水平邊緣。
    小波變換的大致原理是這樣,涉及到三維的情況可以與一維類比理解。

    總結

    以上是生活随笔為你收集整理的小波变换理论讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。