资源简介

经过改进的快速的双边滤波器算法,主要是先下采样,然后进行滤波,最后再进行上采样

资源截图

代码片段和文件信息

function output = bFilter( data edge sigmaSpatial sigmaRange ...
    samplingSpatial samplingRange )

if ~exist( ‘edge‘ ‘var‘ )
    edge = data;
end

inputHeight = size( data 1 );   
inputWidth = size( data 2 );

if ~exist( ‘sigmaSpatial‘ ‘var‘ )
    sigmaSpatial = min( inputWidth inputHeight ) / 16;
end

edgeMin = min( edge( : ) );  %求edge中所有元素的最小值
edgeMax = max( edge( : ) );
edgeDelta = edgeMax - edgeMin; % 0.7843

if ~exist( ‘sigmaRange‘ ‘var‘ )
    sigmaRange = 0.1 * edgeDelta;
end

if ~exist( ‘samplingSpatial‘ ‘var‘ )
    samplingSpatial = sigmaSpatial;
end

if ~exist( ‘samplingRange‘ ‘var‘ )
    samplingRange = sigmaRange;
end

if size( data ) ~= size( edge )
    error( ‘data and edge must be of the same size‘ );
end

% parameters

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

     文件       4788  2011-10-21 14:25  bFilter.m

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

                 4788                    1


评论

共有 条评论