資源簡介
對傳統(tǒng)去噪算法、小波去噪算法和曲波去噪算法的理論進(jìn)行了介紹,采用Matlab編程對兩種算法進(jìn)行了測試。對原圖加不同類型和不同強(qiáng)度的噪聲,采用小波去噪和曲波去噪算法對這些圖片進(jìn)行去噪仿真實(shí)驗(yàn)。計(jì)算不同噪聲圖片處理后的信噪比以及人眼視覺直觀感受兩個(gè)方面來評價(jià)去噪的效果。通過觀察得到的去噪圖片以及信噪比數(shù)據(jù),小波去噪和曲波去噪算法對高斯噪聲都能起到良好的去噪效果。而對于椒鹽噪聲,則會導(dǎo)致圖片的失真,但曲波去噪算法處理椒鹽噪聲后得到的圖片能夠更加符合人眼的視覺感受。
代碼片段和文件信息
function?C?=?fdct_wrapping(x?is_real?finest?nbscales?nbangles_coarse)
%?fdct_wrapping.m?-?Fast?Discrete?Curvelet?Transform?via?wedge?wrapping?-?Version?1.0
%
%?Inputs
%???x???????????M-by-N?matrix
%
%?Optional?Inputs
%???is_real?????Type?of?the?transform
%???????????????????0:?complex-valued?curvelets
%???????????????????1:?real-valued?curvelets
%???????????????[default?set?to?0]
%???finest??????Chooses?one?of?two?possibilities?for?the?coefficients?at?the
%???????????????finest?level:
%???????????????????1:?curvelets
%???????????????????2:?wavelets
%???????????????[default?set?to?2]
%???nbscales????number?of?scales?including?the?coarsest?wavelet?level
%???????????????[default?set?to?ceil(log2(min(MN))?-?3)]
%???nbangles_coarse
%???????????????number?of?angles?at?the?2nd?coarsest?level?minimum?8
%???????????????must?be?a?multiple?of?4.?[default?set?to?16]
%
%
%
%?See?also?ifdct_wrapping.m?fdct_wrapping_param.m
%
%?By?Laurent?Demanet?2004
X?=?fftshift(fft2(ifftshift(x)))/sqrt(prod(size(x)));
[N1N2]?=?size(X);
if?nargin?2?is_real?=?0;?end;
if?nargin?3?finest?=?2;?end;
if?nargin?4?nbscales?=?ceil(log2(min(N1N2))?-?3);?end;
if?nargin?5?nbangles_coarse?=?16;?end;
%?Initialization:?data?structure
nbangles?=?[1?nbangles_coarse?.*?2.^(ceil((nbscales-(nbscales:-1:2))/2))];
if?finest?==?2?nbangles(nbscales)?=?1;?end;
C?=?cell(1nbscales);
for?j?=?1:nbscales
????C{j}?=?cell(1nbangles(j));
end;
%?Loop:?pyramidal?scale?decomposition
M1?=?N1/3;
M2?=?N2/3;
if?finest?==?1
????%?Initialization:?smooth?periodic?extension?of?high?frequencies
????bigN1?=?2*floor(2*M1)+1;
????bigN2?=?2*floor(2*M2)+1;
????equiv_index_1?=?1+mod(floor(N1/2)-floor(2*M1)+(1:bigN1)-1N1);
????equiv_index_2?=?1+mod(floor(N2/2)-floor(2*M2)+(1:bigN2)-1N2);
????X?=?X(equiv_index_1equiv_index_2);
????????%?Invariant:?equiv_index_1(floor(2*M1)+1)?==?(N1?+?2?-?mod(N12))/2
????????%?is?the?center?in?frequency.?Same?for?M2?N2.
????window_length_1?=?floor(2*M1)?-?floor(M1)?-?1?-?(mod(N13)==0);
????window_length_2?=?floor(2*M2)?-?floor(M2)?-?1?-?(mod(N23)==0);
????????%?Invariant:?floor(M1)?+?floor(2*M1)?==?N1?-?(mod(M13)~=0)
????????%?Same?for?M2?N2.
????coord_1?=?0:(1/window_length_1):1;
????coord_2?=?0:(1/window_length_2):1;
????[wl_1wr_1]?=?fdct_wrapping_window(coord_1);
????[wl_2wr_2]?=?fdct_wrapping_window(coord_2);
????lowpass_1?=?[wl_1?ones(12*floor(M1)+1)?wr_1];
????if?mod(N13)==0?lowpass_1?=?[0?lowpass_1?0];?end;
????lowpass_2?=?[wl_2?ones(12*floor(M2)+1)?wr_2];
????if?mod(N23)==0?lowpass_2?=?[0?lowpass_2?0];?end;
????lowpass?=?lowpass_1‘*lowpass_2;
????Xlow?=?X?.*?lowpass;
????scales?=?nbscales:-1:2;
else
????
????M1?=?M1/2;
????M2?=?M2/2;
????window_length_1?=?floor(2*M1)?-?floor(M1)?-?1;
????window_length_2?=?floor(2*M2)?-?floor(M2)?-?1;
????coord_1?=?0:(1/window_length_1):1;
????coord_2?=?0:(1/window_length_2):1;
????[wl_1wr_1]?=?fdct_wrapping_windo
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-10?15:39??源碼\
?????文件??????325120??2018-10-13?14:59??源碼\小波去噪和曲波去噪.doc
?????目錄???????????0??2017-03-29?16:05??源碼\曲波程序及結(jié)果\
?????文件???????15003??2018-10-13?14:57??源碼\曲波程序及結(jié)果\fdct_wrapping.m
?????文件?????????751??2014-04-27?11:56??源碼\曲波程序及結(jié)果\fdct_wrapping_window.m
?????文件???????16277??2012-03-13?03:21??源碼\曲波程序及結(jié)果\ifdct_wrapping.m
?????文件???????32087??2012-03-13?03:21??源碼\曲波程序及結(jié)果\Lena.jpg
?????文件???????39936??2017-02-22?12:36??源碼\曲波程序及結(jié)果\Thumbs.db
?????文件????????5998??2018-10-13?14:57??源碼\曲波程序及結(jié)果\wavedenoise.m
?????目錄???????????0??2018-10-10?15:39??演示\
?????文件????42717693??2017-03-24?18:08??演示\10545.wmv
?????文件??????????64??2018-10-10?16:34??說明.txt
?????目錄???????????0??2018-10-10?15:38??需求\
?????文件??????????84??2017-03-06?16:28??需求\新建文本文檔?(2).txt
評論
共有 條評論