【Python-pywt】 小波变化库—Pywavelets 学习笔记
(轉載) [Python ]小波變化庫——Pywavelets 學習筆記_nanbei2463776506的博客-CSDN博客 https://blog.csdn.net/nanbei2463776506/article/details/64124841?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control&dist_request_id=1619538599227_35473&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control
相關資料
- PyWavelets
官網:https://pywavelets.readthedocs.io/en/latest/ref/index.html - PyWavelets
用例:https://pywavelets.readthedocs.io/en/latest/regression/index.html - PyWavelets
git上的demo:https://github.com/PyWavelets/pywt/tree/master/demo - 介紹小波族的網站(在API Reference中有提到):http://wavelets.pybytes.com/
- 簡明講解小波函數與尺度函數的文檔: [小波分析與尺度函數](#
http://wenku.baidu.com/link?url=ePULUtQMQaWl13tVaX5B4b4241M31OH-Gx6Mr9oJnyOM2zTTKjAUEgHdxVoN8DbbgRtrUA5dnSPvYDrsbK1pV1MKVAtgBVJzKWP6FAZGQNK)
筆記
術語(中英對照):
- 尺度函數 : scaling function (在一些文檔中又稱為父函數 father wavelet )
- 小波函數 : wavelet function(在一些文檔中又稱為母函數 mother wavelet)
- 連續的小波變換 :CWT
- 離散的小波變換 :DWT
小波變換的基本知識
-
不同的小波基函數,是由同一個基本小波函數經縮放和平移生成的。
-
小波變換是將原始圖像與小波基函數以及尺度函數進行內積運算,所以一個尺度函數和一個小波基函數就可以確定一個小波變換
-
小波變換后低頻分量
基本的小波變換函數
Pywalvets API 說明
下面是我使用過程中對Pywalvets 提供的API 的部分理解與說明(里面如果有不對的地方請指出,大家也可以直接看官方提供的API說明文檔)
- 小波函數
我在文章開頭就提供了一個查看小波族的網址,在Pywalvets中也提供了API,你可以用這個函數來查看它提供哪些小波族,每個小波族下又有哪些系數
- 查看小波族 pywt.families
- 二維小波變換(一維和n維類似):
單層變換 pywt.dwt2
pywt.dwt2(data, wavelet, mode=‘symmetric’, axes=(-2, -1))
data: 輸入的數據
wavelet: 小波基
mode: 默認是對稱的
return: (cA, (cH, cV, cD))要注意返回的值,分別為低頻分量,水平高頻、垂直高頻、對角線高頻。高頻的值包含在一個tuple中。
- 單層逆變換 pywt.idwt2
pywt.idwt2(coeffs, wavelet, mode, axes)
coeffs: 經小波變換后得到的各層的系數
wavelet: 小波基
- 多尺度變換 wavedec2
pywt.wavedec2(data, wavelet, mode=‘symmetric’, level=None, axes=(-2, -1))
data: 輸入的數據
wavelet: 小波基
level: 尺度(要變換多少層)
return: 返回的值要注意,每一層的高頻都是包含在一個tuple中,例如三層的話返回為 [cA3, (cH3, cV3, cD3), (cH2, cV2, cD2), (cH1, cV1, cD1)]
- 閾值函數 pywt.threshold
pywt.threshold (data, value, mode=, substitute=)
data: 輸入的數據
value: 閾值
mode: 閾值函數的類型 ,API提供四種類型(soft hard greater less),具體實現效果可以參考API的實例來理解
substitute: 要替換的值(經閾值函數處理后的值)
利用小波變換對圖像進行處理時注意的問題
我想通過小波變換來提取圖像的特征。在此過程中遇到一些問題分享給大家。
- 小波基的選擇問題
可以看到API給出了很多小波族,每個小波族又有很多系數可供我們去選擇,那我們在處理圖片時要怎么去選擇呢?其實這個問題是沒有標準答案的。我在實驗的過程中,主要是用最后的結果 ——“相同類的統計特征相近,不同類的統計特征相差很大”,來挑選小波基函數。
??小波基的選擇也是研究人員在實驗時要考慮的(據我看的論文所得)大家在實踐中可以查閱相關的文章作為參考,或者就拿結果來衡量。
- 多尺度(多次)小波變化中層數的選擇
多尺度小波變換一般是3~4層,但是要注意的是,如果實踐中所用的圖片太小,或者紋理并不豐富,其實用單層的小波變換就足夠了。如果你用多層的小波變換,Pywalvets 仍只會返回給你一層變換的結果,因為信息量過小導致不能采樣來進一步進行變換。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【Python-pywt】 小波变化库—Pywavelets 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行卡银联号在哪看
- 下一篇: 靠谱又快速的借贷平台 不同平台给出授信