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

📄 isodifstep3.m

📁 斑纹噪声消除
💻 M
字号:
function y = isodifstep(x, d)
% ISODIFSTEP   Isotropic diffusion step
%
%    y = ISODIFSTEP(x, d) calculates de isotropic (scalar) diffusion
%    step "y" based on the image "x" and on the diffusivity "d". If
%    "d" is constant the diffusion will be linear, if "d" is
%    a matrix the same size as "x" the diffusion will be nonlinear.
%
%    The diffused image is calculated as:
%      xd = x + T*isodifstep(x,d)  , T = step size
%

% Translations of d
%dop = roll(d,[0 1]);
%dom = roll(d,[0 -1]);
%dpo = roll(d,[1 0]);
%dmo = roll(d,[-1 0]);
d_dpoo = d + roll(d,[ 1   0   0]);
d_dmoo = roll(d_dpoo,[-1   0   0]);
d_dopo = d + roll(d,[ 0   1   0]);
d_domo = roll(d_dopo,[ 0  -1   0]);
d_doop = d + roll(d,[ 0   0   1]);
d_doom = roll(d_doop,[ 0   0  -1]);


% Translations of x
%xop = roll(x,[0 1]);
%xom = roll(x,[0 -1]);
%xpo = roll(x,[1 0]);
%xmo = roll(x,[-1 0]);
x_xpoo = x - roll(x,[ 1   0   0]);
x_xmoo = roll(x_xpoo,[-1   0   0]); % Must multiply -1
x_xopo = x - roll(x,[ 0   1   0]);
x_xomo = roll(x_xopo,[ 0  -1   0]); % Must multiply -1
x_xoop = x - roll(x,[ 0   0   1]);
x_xoom = roll(x_xoop,[ 0   0  -1]); % Must multiply -1


% Calculate y = dx/dt
%y = -.5 * ( (d+dmo).*(x-xmo) + (dpo+d).*(x-xpo) + (d+dom).*(x-xom) + (dop+d).*(x-xop)  );
%y =   .5 * ( (d_dmo).*(x_xmo) - (d_dpo).*(x_xpo) + (d_dom).*(x_xom) - (d_dop).*(x_xop)  );
y =   .5 * ( (d_dmoo).*(x_xmoo) - (d_dpoo).*(x_xpoo) + (d_domo).*(x_xomo) - (d_dopo).*(x_xopo)  + (d_doom).* (x_xoom)- (d_doop).*(x_xoop));

⌨️ 快捷键说明

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