⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bivashrink123.m

📁 上課所教所有matlab 小波去燥的教程!~非常適合各位的參考!非常好喔!
💻 M
字号:
function y = BivaShrink123(x)
% Local Adaptive Image Denoising Algorithm
%---同时用到父层系数和邻域系数信息,是一种三维的萎缩函数---
% Usage :
%        y = BivaShrink123(x)
% INPUT :
%        x - a noisy image
% OUTPUT :
%        y - the corresponding denoised image

% Adjust windowsize and the corresponding filter
windowsize  = 7;
windowfilt = ones(1,windowsize)/windowsize;

windowfilt2=[1 1 1;1 0 1;1 1 1]/8;
% Number of Stages
L = 6;

% symmetric extension
N = length(x);
N = N+2^L;
x = symextend(x,2^(L-1));

% forward transform
[af, sf] = farras;
W = dwt2D(x,L,af); 

% Noise variance estimation using robust median estimator..
tmp = W{1}{3};
Nsig = median(abs(tmp(:)))/0.6745;

for scale = 1:L-1
    for dir = 1:3
        
        % noisy coefficients 
        Y_coefficient = W{scale}{dir};
        
        % noisy parent        
        Y_parent = W{scale+1}{dir};
        
        % extent Y_parent to make the matrix size be equal to Y_coefficient         
        Y_parent = expand(Y_parent);
        
        %----计算邻域系数值----
        Y_adjacent=conv2((Y_coefficient).^2,windowfilt2,'same');
        Y_adjacent=sqrt(Y_adjacent);
        
        % Signal variance estimation
        
        Wsig = conv2(windowfilt,windowfilt,(Y_coefficient).^2,'same');%---用Gauss分布的ML估计系数方差----
        %Wsig_ = conv2(windowfilt,windowfilt,abs(Y_coefficient),'same');%---用Laplace分布的ML估计系数方差----
        %Wsig=(Wsig_*sqrt(2)).^2;
        Ssig = sqrt(max(Wsig-Nsig.^2,eps));
        
        % Threshold value estimation 
        T = sqrt(3)*Nsig^2./Ssig;
        
        % trivariate Shrinkage
        W{scale}{dir} = trishrink1(Y_coefficient,Y_adjacent,Y_parent,T);        
    end
end


% Inverse Transform
y = idwt2D(W,L,sf);

% Extract the image
y = y(2^(L-1)+1:2^(L-1)+512,2^(L-1)+1:2^(L-1)+512); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -