小波應(yīng)用比較廣泛,近期想使用其去噪。由于網(wǎng)上都是matlib實(shí)現(xiàn),故記下一下Python的使用
Pywavelet Denoising 小波去噪
# -*- coding: utf-8 -*- import numpy as npimport pywt data = np.linspace(1, 4, 7) # pywt.threshold方法講解:# pywt.threshold(data,value,mode ='soft',substitute = 0 )# data:數(shù)據(jù)集,value:閾值,mode:比較模式默認(rèn)soft,substitute:替代值,默認(rèn)0,float類型 #data: [ 1. 1.5 2. 2.5 3. 3.5 4. ]#output:[ 6. 6. 0. 0.5 1. 1.5 2. ]#soft 因?yàn)閐ata中1小于2,所以使用6替換,因?yàn)閐ata中第二個1.5小于2也被替換,2不小于2所以使用當(dāng)前值減去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中數(shù)值小于閾值的替換為6,大于等于的不替換print pywt.threshold(data, 2, 'greater',6)print "---------------------less-------------------------"print data#data: [ 1. 1.5 2. 2.5 3. 3.5 4. ]#data中數(shù)值大于閾值的,替換為6print pywt.threshold(data, 2, 'less',6)
參考官方文檔地址:https://pywavelets.readthedocs.io/en/latest/ref/thresholding-functions.html#pywt.threshold
以上這篇Python Pywavelet 小波閾值實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點(diǎn)
疑難解答
圖片精選