matlab學習之降噪平滑演算法

2022-01-12 10:36:50 字數 1137 閱讀 2403

平滑降噪測試,**如下

% 平滑降噪

% fft變換和小波變換

clcclf

clear

length_of_sig=128;

x=linspace(0,2*pi,length_of_sig);

% signal=5*sin(x)+2*sin(5*x)+randn(x);書上的這個是錯的,隨機數裡的引數要求是整數

raw=5*sin(x)+2*sin(5*x);

signal=5*sin(x)+2*sin(5*x)+randn(1,length_of_sig);

jiequ=16;

transf=fft(signal);

filter_transf(1:jiequ)=transf(1:jiequ);

filter_transf(length_of_sig-jiequ:length_of_sig)=transf(length_of_sig-jiequ:length_of_sig);

filter_signal=ifft(filter_transf);

% before_hist=real(transf);

% after_hist=hist(before_hist);

% after_hist=histogram(before_hist);

[xd1,cxd1,lxd1] = wden(signal,'sqtwolog','h','sln',3,'db3');

[xd2,cxd2,lxd2] = wden(signal,'sqtwolog','s','one',2,'db3');

plot(x,signal,'k--')

hold on;

% plot(x,raw,'r')'無雜訊訊號',

plot(x,filter_signal,'b')

plot(x,xd1);

plot(x,xd2);

legend('無雜訊訊號+雜訊','fft恢復訊號',...

'小波1恢復訊號','小波2恢復訊號')

% 從結果看來小波2和fft效果都不錯。

參考:1、matlab教程,例1.6 傅利葉變換與訊號分析,之後發現改教程是基於matlab5.2的。

2、七中濾波方法測試matlab實現**)

OpenCV學習之平滑(模糊)

void boxfilter inputarray src,outputarray dst,int ddepth,size ksize,point anchor point 1,1 意味著定位畫素是核的中心 bool normalize true int bordertype border defa...

人臉降噪中的深度學習演算法學問

降噪演算法,最大的問題是降噪後的影象容易不實,顯得模糊。而且乙個降噪演算法難以處理多種型別的噪點 彩噪 亮噪等 在監控領域,降噪演算法的劣勢體現在人臉的五官等細節不實,塗抹比較嚴重。尤其在低照度場景下,這種問題會被放大。傳統演算法搞來搞去,根據畫素點的值和空間距離設定各種規則進行濾波,都難以克服上述...

matlab自帶機器學習演算法

機器學習 matlab 自帶機器學習演算法彙總 部落格 引言 今天突然發現matlab 2015a的版本自帶了許多經典的機器學習方法,簡單好用,所以在此撰寫部落格用以簡要彙總 我主要參考了matlab自帶的幫助文件 matlab每個機器學習方法都有很多種方式實現,並可進行高階配置 比如訓練決策樹時設...