小波去噪主程序資料_第1頁(yè)
小波去噪主程序資料_第2頁(yè)
小波去噪主程序資料_第3頁(yè)
小波去噪主程序資料_第4頁(yè)
小波去噪主程序資料_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上小波去噪主程序%xiaoboquzao.m%對(duì)彩色圖像進(jìn)行去噪I = imread(菊花.png,png); % 讀入圖像X = im2double(I); % 轉(zhuǎn)換成雙精度類型x_noise = imnoise(X, gaussian, 0.01); % 加入高斯噪聲%提取三個(gè)通道信息xr = x_noise(:, :, 1); % R通道xg = x_noise(:, :, 2); % G通道xb = x_noise(:, :, 3); % B通道%估計(jì)三個(gè)通道的閾值Cr, Sr = wavedec2(xr, 2, sym4);Cg, Sg = wavedec2(

2、xg, 2, sym4);Cb, Sb = wavedec2(xb, 2, sym4);thr_r = Donoho(xr); % R通道全局閾值thr_g = Donoho(xg); % G通道全局閾值thr_b = Donoho(xb); % B通道全局閾值%對(duì)三個(gè)通道分別進(jìn)行去噪% Donoho全局閾值 軟閾值公式x_soft_r = wdenoise(xr, gbl, s, thr_r, sym4, 2);x_soft_g = wdenoise(xg, gbl, s, thr_g, sym4, 2);x_soft_b = wdenoise(xb, gbl, s, thr_b, sym4

3、, 2);% Donoho全局閾值 硬閾值公式-x_hard_r = wdenoise(xr, gbl, h, thr_r, sym4, 2);x_hard_g = wdenoise(xg, gbl, h, thr_g, sym4, 2);x_hard_b = wdenoise(xb, gbl, h, thr_b, sym4, 2);% Birge-Massart策略 軟閾值公式-thr_lvd_r=thr_rx_soft_lvd_r = wdenoise(xr, lvd, s, thr_lvd_r, sym4, 1);thr_lvd_g=thr_gx_soft_lvd_g = wdenois

4、e(xg, lvd, s, thr_lvd_g, sym4, 1);thr_lvd_b=thr_bx_soft_lvd_b = wdenoise(xb, lvd, s, thr_lvd_b, sym4, 1);%半軟閾值-x1_r = den1(xr, sym4, 2, thr_r);x1_g = den1(xg, sym4, 2, thr_g);x1_b = den1(xb, sym4, 2, thr_b);%半軟閾值 + 均值濾波-x1_5_r = den1_5_1(xr, sym4, 2, thr_r, 0.5*thr_r);x1_5_g = den1_5_1(xg, sym4, 2,

5、thr_g, 0.5*thr_g);x1_5_b = den1_5_1(xb, sym4, 2, thr_b, 0.5*thr_b);%自適應(yīng)閾值-x4_r = den4(xr, sym4, 2);x4_g = den4(xg, sym4, 2);x4_b = den4(xb, sym4, 2);% 恢復(fù)去噪后的圖像x_soft = cat(3, x_soft_r, x_soft_g, x_soft_b); % Donoho 軟閾值x_hard = cat(3, x_hard_r, x_hard_g, x_hard_b); % Donoho 硬閾值x1 = cat(3, x1_r, x1_g,

6、 x1_b); % 半軟閾值x4 = cat(3, x4_r, x4_g, x4_b); % 自適應(yīng)閾值x1_5= cat(3,x1_5_r,x1_5_g,x1_5_b); % 半軟閾值 + 均值濾波%計(jì)算去噪圖像與原圖像峰值信噪比psnr_soft = PSNR_color(x_soft, X)psnr_hard = PSNR_color(x_hard, X)psnr1 = PSNR_color(x1, X)psnr1_5 = PSNR_color(x1_5, X)psnr4 = PSNR_color(x4, X)%顯示去噪后的圖像figure; imshow(X); title(原圖像);

7、figure; imshow(x_noise); title(帶噪聲圖像);figure; imshow(x_soft); title(Donoho 軟閾值)figure; imshow(x_hard); title(Donoho 硬閾值);figure; imshow(x1); title(半軟閾值);figure; imshow(x4); title(自適應(yīng)閾值);figure; imshow(x1_5); title(半軟閾值加均值濾波);半軟閾值去噪方法%den1.mfunction X = den1(x, wname, n, thr)thr1 = 0.5 * thr;C, S = w

8、avedec2(x, n, wname); %對(duì)圖像進(jìn)行小波分解dcoef = C( prod(S(1, :) + 1 : end); %高頻部分系數(shù)ind = find( abs(dcoef) = thr1 & abs(dcoef) = thr ) + prod(S(1, :); %大于thr的系數(shù)% C(ind) = sign(C(ind) .* ( abs(C(ind) - alpha * thr );X = waverec2(C, S, wname); %重構(gòu)圖像改進(jìn)的半軟閾值去噪方法%den1_5_1.mfunction X = den1_5_1(x, wname, n, thr,

9、thr1)%對(duì)一層的重構(gòu)圖像進(jìn)行均值值濾波% thr1 = 0.6 * thr;C, S = wavedec2(x, n, wname); %對(duì)圖像進(jìn)行小波分解dcoef = C( prod(S(1, :) + 1 : end); %高頻部分系數(shù)ind = find( abs(dcoef) = thr1 & abs(dcoef) = thr ) + prod(S(1, :); %大于thr的系數(shù)% C(ind) = sign(C(ind) .* ( abs(C(ind) - alpha * thr );%重構(gòu)至第1層A1 = wrcoef2(a, C, S, wname, 1); H1 = w

10、rcoef2(h, C, S, wname, 1);V1 = wrcoef2(v, C, S, wname, 1);D1 = wrcoef2(d, C, S, wname, 1);%對(duì)三個(gè)子圖像進(jìn)行均值濾波h_fir = 1 1 1 1 1 / 5; %水平方向?yàn)V波器v_fir = 1 1 1 1 1 / 5; %垂直方向?yàn)V波器d_fir = 0 0 1 0 0; 0 0 1 0 0; 1 1 1 1 1; 0 0 1 0 0; 0 0 1 0 0 / 9; %對(duì)角線方向?yàn)V波器H1 = filter2(h_fir, H1);V1 = filter2(v_fir, V1);D1 = filter

11、2(d_fir, D1);%中值-% H1 = medfilt2(H1, 3 3);% V1 = medfilt2(V1, 3 3);% D1 = medfilt2(D1, 3 3);%重構(gòu)圖像X = A1 + H1 + V1 + D1;自適應(yīng)閾值去噪方法%den4.mfunction X = den4(x, wname, n)% Feature Adaptive Wavelet Shrinkage for Image Denoising%初始化參數(shù)值R = 5; %窗口大小alpha= 0.1; %控制小波系數(shù)縮減的程度beta= 0.3;delta= DELTA(x); %噪方差lambd

12、a2 = 4 * delta2 * log(R); %局部閾值 2 C, S = wavedec2(x, n, wname); %對(duì)圖像進(jìn)行小波分解%提取每層系數(shù)并進(jìn)行處理for i = n : -1 : 1 cH = detcoef2(h, C, S, i); %水平細(xì)節(jié)系數(shù) cV = detcoef2(v, C, S, i); %垂直細(xì)節(jié)系數(shù) cD = detcoef2(d, C, S, i); %對(duì)角線細(xì)節(jié)系數(shù) dim = size(cH); %分別處理三個(gè)方向的系數(shù) for j = 1 : dim(1) for k = 1 : dim(2) S_jk2 = energy(cH, j,

13、k, R); cH(j, k) = shrink(cH(j, k), S_jk2, alpha, beta, lambda2); S_jk2 = energy(cV, j, k, R); cV(j, k) = shrink(cV(j, k), S_jk2, alpha, beta, lambda2); S_jk2 = energy(cD, j, k, R); cD(j, k) = shrink(cD(j, k), S_jk2, alpha, beta, lambda2); end end %再把系數(shù)放回去 k = size(S,1) - i;first = S(1,1)*S(1,2) + 3

14、* sum(S(2:k-1, 1).*S(2:k-1, 2) + 1; %起始位置add = S(k,1)*S(k,2); %系數(shù)長(zhǎng)度 C(first : first + add - 1) = reshape(cH, 1, add); C(first + add : first + 2*add - 1) = reshape(cV, 1, add); C(first + 2*add : first + 3*add - 1) = reshape(cD, 1, add);endX = waverec2(C, S, wname); %重構(gòu)圖像% deltafunction delta = DELTA(

15、x)%估計(jì)噪聲方差 C, S = wavedec2(x, 1, db1); %小波分解d = C( prod( S(1,:) ) + 2 * prod( S(2,:) ) + 1 : end); % HH子帶系數(shù)delta = median( abs(d) ) / 0.6745; %計(jì)算delta%energyfunction S_jk2 = energy(cM, j, k, R)%計(jì)算小波系數(shù)附近的能量dim = size(cM);%邊界判斷row_min = (j-1 = fix(R/2) * fix(-R/2);row_max = (dim(1)-j = fix(R/2) * fix(R

16、/2);col_min = (k-1 = fix(R/2) * fix(-R/2);col_max = (dim(2)-k = fix(R/2) * fix(R/2);s = 0;for m = row_min : row_max for n = col_min : col_max s = cM(j + m, k + n)2 + s; endendS_jk2 = s / R2;% shrink%function d_jk = shrink(d, S_jk2, alpha, beta, lambda2)%處理小波系數(shù)if S_jk2 = beta * lambda2 d_jk = d * (1

17、- alpha * lambda2 / S_jk2);else d_jk = 0;endDonoho閾值去噪算法%Donoho.mfunction thr = Donoho(x)%用Donoho通用閾值公式計(jì)算閾值 x為要進(jìn)行處理的圖像% thr = delta * sqrt( 2 * log(n)% n為信號(hào)的長(zhǎng)度或尺寸% delta = MAD / 0.6745 %經(jīng)驗(yàn)公式,其中MAD為小波分解后高子帶系數(shù)的中值n = prod( size(x) ); %圖像尺寸%計(jì)算deltaC, S = wavedec2(x, 1, db1); %小波分解d = C( prod( S(1,:) ) +

18、 2 * prod( S(2,:) ) + 1 : end); %HH子帶系數(shù)delta = median( abs(d) ) / 0.6745;%計(jì)算閾值thr = delta * sqrt(2*log(n);計(jì)算彩色圖像(含RGB三個(gè)通道)的均方差%MSE_color.mfunction mse_color = MSE_color(I, J)% 計(jì)算彩色圖像(含RGB三個(gè)通道)的均方差 m, n, o = size(I);sigma = 0;for i = 1:m for j = 1:n for k = 1:o sigma = sigma + ( I(i,j,k) - J(i,j,k) )

19、2; end endendmse_color = sigma / (m*n) / 3;峰值信噪比計(jì)算函數(shù)%PSNR_color.mfunction psnr = PSNR_color(I, J)%計(jì)算消噪前后圖像的峰值信噪比psnr = 10 * log10( 2552 / MSE_color(I, J) );%wdenoise.mfunction X = wdenoise(x, measure, sorh, thr, wname, n)% 閾值去噪函數(shù)% x為帶噪聲圖像 % measure表示全局或局部% sorh表示軟硬閾值方法%thr為閾值% wname為小波函數(shù)名% n為分解層次 C, S = wavedec2(x, n, wname); %對(duì)圖像進(jìn)行小波分解switch measure case gbl %全局閾值方法 dcoef = C( prod(S(1, :) + 1 : end); %提

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論