资源简介
经过改进的快速的双边滤波器算法,主要是先下采样,然后进行滤波,最后再进行上采样
代码片段和文件信息
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
评论
共有 条评论