Name
info_edgesT_info_edgesInfoEdgesinfo_edgesInfoEdgesInfoEdges — Estimate the width of a filter in edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage.
void InfoEdges(const HTuple& Filter, const HTuple& Mode, const HTuple& Alpha, HTuple* Size, HTuple* Coeffs)
static Hlong HMisc::InfoEdges(const HString& Filter, const HString& Mode, double Alpha, HTuple* Coeffs)
static Hlong HMisc::InfoEdges(const char* Filter, const char* Mode, double Alpha, HTuple* Coeffs)
info_edgesinfo_edgesInfoEdgesinfo_edgesInfoEdgesInfoEdges returns an estimate of the width of any of
the filters used in edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage. To do so, the
corresponding continuous impulse responses of the filters are
sampled until the first filter coefficient is smaller than five
percent of the largest coefficient. AlphaAlphaAlphaAlphaAlphaalpha is the filter
parameter (see edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage). Seven edge operators are
supported (parameter FilterFilterFilterFilterFilterfilter):
'deriche1', 'lanser1', 'deriche2', 'lanser2',
'shen', 'mshen' and 'canny'.
The parameter ModeModeModeModeModemode ('edge'/'smooth') is used to determine
whether the corresponding edge or smoothing operator is to be
sampled. The Canny operator (which uses the Gaussian for smoothing)
is implemented using conventional filter masks, while all other
filters are implemented recursively. Therefore, for the Canny
filter the coefficients of the one-dimensional impulse responses
f(n) with n >= 0 are returned in
CoeffsCoeffsCoeffsCoeffsCoeffscoeffs in addition to the filter width.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Name of the edge operator.
Default value:
'lanser2'
"lanser2"
"lanser2"
"lanser2"
"lanser2"
"lanser2"
List of values: 'canny'"canny""canny""canny""canny""canny", 'deriche1'"deriche1""deriche1""deriche1""deriche1""deriche1", 'deriche2'"deriche2""deriche2""deriche2""deriche2""deriche2", 'lanser1'"lanser1""lanser1""lanser1""lanser1""lanser1", 'lanser2'"lanser2""lanser2""lanser2""lanser2""lanser2", 'mshen'"mshen""mshen""mshen""mshen""mshen", 'shen'"shen""shen""shen""shen""shen"
1D edge filter ('edge') or 1D smoothing filter
('smooth').
Default value:
'edge'
"edge"
"edge"
"edge"
"edge"
"edge"
List of values: 'edge'"edge""edge""edge""edge""edge", 'smooth'"smooth""smooth""smooth""smooth""smooth"
Filter parameter: small values result in strong
smoothing, and thus less detail (opposite for
'canny').
Default value: 0.5
Typical range of values: 0.2
≤
Alpha
Alpha
Alpha
Alpha
Alpha
alpha
≤
50.0
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: Alpha > 0.0
For Canny filters: Coefficients of the “positive”
half of the 1D impulse response.
read_image(Image,'fabrik')
info_edges('lanser2','edge',0.5,Size,Coeffs)
edges_image(Image,Amp,Dir,'lanser2',0.5,'none',-1,-1)
hysteresis_threshold(Amp,Margin,20,30,30)
read_image(&Image,"fabrik");
info_edges("lanser2","edge",0.5,Size,Coeffs) ;
edges_image(Image,&Amp,&Dir,"lanser2",0.5,"none",-1,-1);
hysteresis_threshold(Amp,&Margin,20,30,30);
read_image(Image,'fabrik')
info_edges('lanser2','edge',0.5,Size,Coeffs)
edges_image(Image,Amp,Dir,'lanser2',0.5,'none',-1,-1)
hysteresis_threshold(Amp,Margin,20,30,30)
read_image(Image,'fabrik')
info_edges('lanser2','edge',0.5,Size,Coeffs)
edges_image(Image,Amp,Dir,'lanser2',0.5,'none',-1,-1)
hysteresis_threshold(Amp,Margin,20,30,30)
read_image(Image,'fabrik')
info_edges('lanser2','edge',0.5,Size,Coeffs)
edges_image(Image,Amp,Dir,'lanser2',0.5,'none',-1,-1)
hysteresis_threshold(Amp,Margin,20,30,30)
read_image(Image,'fabrik')
info_edges('lanser2','edge',0.5,Size,Coeffs)
edges_image(Image,Amp,Dir,'lanser2',0.5,'none',-1,-1)
hysteresis_threshold(Amp,Margin,20,30,30)
info_edgesinfo_edgesInfoEdgesinfo_edgesInfoEdgesInfoEdges returns 2 (H_MSG_TRUE) if all parameters are
correct. If the input is empty the behaviour can be set via
set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If
necessary, an exception is raised.
edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage,
thresholdthresholdThresholdthresholdThresholdThreshold,
skeletonskeletonSkeletonskeletonSkeletonSkeleton
edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage
Foundation