资源简介

Frangi滤波是基于Hessian矩阵构造出来的一种边缘检测增强滤波算法在上面的Hessian程序中,高斯平滑参数σ为标准差,对于血管这种线形结构,当尺度因子 σ 与血管的实际宽度最匹配时,滤波器的输出最大。所以作为空间尺度因子,迭代可以得到不同尺度的输出。局部特性分析的窗口矩形的半宽一般为 3σ。

资源截图

代码片段和文件信息

function [outImwhatScaleDirection] = FrangiFilter2D(I options)  
% This function FRANGIFILTER2D uses the eigenvectors of the Hessian to  
% compute the likeliness of an image region to vessels according  
% to the method described by Frangi:2001 (Chapter 2).  
% [JScaleDirection] = FrangiFilter2D(I Options)  
% inputs  
%   I : The input image (vessel image)  
%   Options : Struct with input options  
%       .FrangiScaleRange : The range of sigmas used default [1 8]  
%       .FrangiScaleRatio : Step size between sigmas default 2  
%       .FrangiBetaOne : Frangi correction constant default 0.5  
%       .FrangiBetaTwo : Frangi correction constant default 15  
%       .BlackWhite : Detect black ridges (default) set to true for  
%                       white ridges set to false.  
%       .verbose : Show debug information default true  
% outputs  
%   J : The vessel enhanced image (pixel is the maximum found in all scales)  
%   Scale : Matrix with the scales on which the maximum intensity   
%           of every pixel is found  
%   Direction : Matrix with directions (angles) of pixels (from minor eigenvector)     
%  
% Written by Marc Schrijver 2/11/2001  
% Re-Written by D.Kroon University of Twente (May 2009)  
  
defaultoptions = struct(‘FrangiScaleRange‘ [1 5] ‘FrangiScaleRatio‘ 2 ‘FrangiBetaOne‘ 0.5 ‘FrangiBetaTwo‘ 15 ‘verbose‘true‘BlackWhite‘true);  
  
% Process inputs  
if(~exist(‘options‘‘var‘))   
    options=defaultoptions;   
else  
    tags = fieldnames(defaultoptions);  
    for i=1:length(tags)  
         if(~isfield(optionstags{i}))  options.(tags{i})=defaultoptions.(tags{i}); end  
    end  
    if(length(tags)~=length(fieldnames(options)))   
        warning(‘FrangiFilter2D:unknownoption‘‘unknown options found‘);  
    end  
end  
  
%sigam范围从FrangiScaleRange(1)到FrangiScaleRange(2),步长为FrangiScaleRatio,具体要结合图像  
  
sigmas=options.FrangiScaleRange(1):options.FrangiScaleRatio:options.FrangiScaleRange(2);  
sigmas =

评论

共有 条评论