info_edgesπ
Short descriptionπ
info_edges β Return the filter coefficients of a filter in edges_image.
Signatureπ
info_edges( string Filter, string Mode, real Alpha, out integer Size, out integer Coeffs )
Descriptionπ
info_edges returns the coefficients Coeffs and an estimate
of the width Size of any of the filters used in edges_image.
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. Alpha is the filter
parameter (see edges_image). Seven edge operators are
supported (parameter Filter):
'deriche1', 'lanser1', 'deriche2', 'lanser2', 'shen', 'mshen' and 'canny'.
The parameter Mode ('edge'/'smooth') is used to
determine whether the corresponding edge or smoothing operator is to be
sampled.
The Canny operator (which uses Gaussian smoothing)
is implemented using conventional filter masks. Therefore, for the Canny
filter, the coefficients Coeffs of the one-dimensional impulse
responses are returned as \(f(n)\) with \(n \ge 0\). All
other filters are implemented recursively; here, the Coeffs are
coefficients of a corresponding non-recursive filter.
Attentionπ
Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.
Execution informationπ
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Processed without parallelization.
Parametersπ
Filter (input_control) string β (string)
Name of the edge operator.
Default: 'lanser2'
List of values: 'canny', 'deriche1', 'deriche2', 'lanser1', 'lanser2', 'mshen', 'shen'
Mode (input_control) string β (string)
1D edge filter (βedgeβ) or 1D smoothing filter (βsmoothβ).
Default: 'edge'
List of values: 'edge', 'smooth'
Alpha (input_control) real β (real)
Filter parameter: small values result in strong smoothing, and thus less detail (opposite for βcannyβ).
Default: 0.5
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: Alpha > 0.0
Size (output_control) integer β (integer)
Filter width in pixels.
Coeffs (output_control) integer-array β (integer)
For Canny filters: Coefficients of the βpositiveβ half of the 1D impulse response. All others: Coefficients of a corresponding non-recursive filter.
Exampleπ
(HDevelop)
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)\;
Resultπ
info_edges returns 2 (H_MSG_TRUE) if all parameters are
correct. If the input is empty the behavior can be set via
set_system('no_object_result',<Result>). If
necessary, an exception is raised.
Combinations with other operatorsπ
Moduleπ
Foundation