• 大小: 7KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-16
  • 语言: Matlab
  • 标签:

资源简介

matlab版本的,仅供参考

资源截图

代码片段和文件信息

function diff_sig = anisodiff1D(sig num_iter delta_t kappa option)
%ANISODIFF1D Conventional anisotropic diffusion
%   DIFF_SIG = ANISODIFF1D(SIG NUM_ITER DELTA_T KAPPA OPTION) perfoms 
%   conventional anisotropic diffusion (Perona & Malik) upon 1D signals.
%   A 1D network structure of 2 neighboring nodes is considered for diffusion 
%   conduction.

%       ARGUMENT DEscriptION:
%               SIG      - input column vector (Nx1).
%               NUM_ITER - number of iterations. 
%               DELTA_T  - integration constant (0 <= delta_t <= 1/3).
%                          Usually due to numerical stability this 
%                          parameter is set to its maximum value.
%               KAPPA    - gradient modulus threshold that controls the conduction.
%               OPTION   - conduction coefficient functions proposed by Perona & Malik:
%                          1 - c(xt) = exp(-(nablaI/kappa).^2)
%                              privileges high-contrast edges over low-contrast ones. 
%                          2 - c(xt) = 1./(1 + (nablaI/kappa).^2)
%                              privileges wide regions over smaller ones. 

%       OUTPUT DEscriptION:
%               DIFF_SIG - (diffused) signal with the largest scale-space parameter.

%   Example
%   -------------
%   s = exp(-(-10:0.1:10).^2/2.5)‘ + rand(length(-10:0.1:10)1);
%   num_iter = 15;
%   delta_t = 1/3;
%   kappa = 30;
%   option = 2;
%   ad = anisodiff1D(snum_iterdelta_tkappaoption);
%   figure subplot 121 plot(s) axis([0 200 0 2]) subplot 122 plot(ad) axis([0 200 0 2])

% See also anisodiff2D anisodiff3D.

% References: 
%   P. Perona and J. Malik. 
%   Scale-Space and Edge Detection Using Anisotropic Diffusion.
%   IEEE Transactions on Pattern Analysis and Machine Intelligence 
%   12(7):629-639 July 1990.

%   G. Grieg O. Kubler R. Kikinis and F. A. Jolesz.
%   Nonlinear Anisotropic Filtering of MRI Data.
%   IEEE Transactions on Medical Imaging
%   11(2):221-232 June 1992.

%   MATLAB implementation based on Peter Kovesi‘s anisodiff(.):
%   P. D. Kovesi. MATLAB and Octave Functions for Computer Vision and Image Processing.
%   School of Computer Science & Software Engineering
%   The University of Western Australia. Available from:
%   .

% Credits:
% Daniel Simoes Lopes
% ICIST
% Instituto Superior Tecnico - Universidade Tecnica de Lisboa
% danlopes (at) civil ist utl pt
% http://www.civil.ist.utl.pt/~danlopes
%
% May 2007 original version.

% Convert input signal to double.
sig = double(sig);

% PDE (partial differential equation) initial condition.
diff_sig = sig;

% Center point distance.
dx = 1;

% 1D convolution masks - finite differences.
hW = [1 -1 0]‘;
hE = [0 -1 1]‘;

% Anisotropic diffusion.
for t = 1:num_iter

        % Finite differences. [imfilter(..‘conv‘) can be replaced by

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3650  2007-05-15 00:32  anisodiff_Perona-Malik\anisodiff1D.m

     文件       4901  2007-05-15 00:32  anisodiff_Perona-Malik\anisodiff2D.m

     文件      11335  2007-05-15 00:32  anisodiff_Perona-Malik\anisodiff3D.m

     目录          0  2012-02-02 12:54  anisodiff_Perona-Malik

----------- ---------  ---------- -----  ----

                19886                    4


评论

共有 条评论