基於python的小波閾值去噪演算法

2022-06-10 18:51:07 字數 1773 閱讀 8135

發表於 2018-01-10 16:32:17

嵌入式設計應用

+關注影象和雜訊在經小波變換後具有不同的統計特性:影象本身的能量對應著幅值較大的小波係數,主要集中在低頻(ll)部分;雜訊能量則對應著幅值較小的小波係數,並分散在小波變換後的所有係數中。基於此可設定乙個合適的閾值門限,認為大於該閾值的小波係數的主要成份為有用的訊號,給予收縮後保留;小於該閾值的小波係數,主要成份為雜訊,予以置零剔除;然後經過閾值函式對映得到估計係數;最後對估計係數進行逆變換,就可以實現去噪和重建。去噪時,通常認為低通係數含有大量的影象能量,一般不作處理,只對剩餘三個高通部分進行處理。一次閾值去噪並不能完全去除雜訊,還需要對未作處理的低頻部分(ll)再次進行小波分解和閾值去噪,直到實際影象與估計影象的偏差達到最小值。但是,隨著分解和去噪次數的增加,小波係數中的雜訊能量越來越小,並且趨於分散,去噪的效果將逐漸降低。一般來說,進行3-4層小波分解和去噪就可以達到滿意的去噪效果。

(1)二維訊號的小波分解。選擇乙個小波(sym8)和小波分解的層次n(3),然後計算訊號s到第n層的分解。

(2)對高頻係數進行閾值量化,對於從一到n的每一層,選擇乙個閾值,並對這一層的高頻係數進行軟閾值化處理。

(3)二維小波的重構,根據小波分解的第n層的低頻係數和經過修改的從第一層到第n層的高頻係數,來計算二維訊號的小波重構。

import numpy as np

import pywt

data = np.linspace(1, 4, 7)

# pywt.threshold方法講解:

# pywt.threshold(data,value,mode =『soft』,substitute = 0 )

# data:資料集,value:閾值,mode:比較模式預設soft,substitute:替代值,預設0,float型別

#data: [ 1. 1.5 2. 2.5 3. 3.5 4. ]

#output:[ 6. 6. 0. 0.5 1. 1.5 2. ]

#soft 因為data中1小於2,所以使用6替換,因為data中第二個1.5小於2也被替換,2不小於2所以使用當前值減去2,,2.5大於2,所以2.5-2=0.5.。..。

print 「---------------------soft:絕對值-------------------------」

print pywt.threshold(data, 2, 『soft』,6)

print 「---------------------hard:絕對值-------------------------」

#data: [ 1. 1.5 2. 2.5 3. 3.5 4. ]

#hard data中絕對值小於閾值2的替換為6,大於2的不替換

print pywt.threshold(data, 2, 『hard』,6)

print 「---------------------greater-------------------------」

#data: [ 1. 1.5 2. 2.5 3. 3.5 4. ]

#data中數值小於閾值的替換為6,大於等於的不替換

print pywt.threshold(data, 2, 『greater』,6)

print 「---------------------less-------------------------」

print data

#data: [ 1. 1.5 2. 2.5 3. 3.5 4. ]

#data中數值大於閾值的,替換為6

print pywt.threshold(data, 2, 『less』,6)

傳統去噪 小波去噪

通過短波實現噪音消除,與高斯去噪的基本原理一致。小波變換具有如下特點 低熵性,小波係數的稀疏分布,使得影象變換後的熵降低 多解析度,由於採用了多解析度的方法,可以刻畫訊號的非平穩特徵 去相關性,小波變換可以對訊號進行去相關,且雜訊在變換後具有白化趨勢,所以小波域比時域更利於去噪 對於小波去噪問題的本...

小波閾值去噪 基於小波分解的聲發射訊號處理

小波基的選擇 根據常用小波基的特徵,結合聲發射訊號的特點及工程中對聲發射訊號分析的要求,用於聲發射訊號分析的小波基應滿足以下條件 對於大資料量訊號能夠滿足快速處理要求。聲發射訊號的特點之一是突發性,而且是多通道的過程監測,所以在實際的應用中往往取樣時間比較長,訊號的資料量較大。連續小波變換雖然對訊號...

小波閥值去噪法基礎

1 小波閥值去噪的基本思想 donoho提出的小波閥值去噪的基本思想是將訊號通過小波變換 採用mallat 演算法 後,訊號產生的小波係數含有訊號的重要資訊,將訊號經小波分解後小波係數較大,雜訊的小波係數較小,並且雜訊的小波係數要小於訊號的小波係數,通過選取乙個合適的閥值,大於閥值的小波係數被認為是...