Estimate the width of a filter in edges__.
info_edges returns an estimate of the width of any of the filters used in edges__. 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__). Seven edge operators are supported (parameter Filter):
'deriche1', 'mderiche1', 'deriche2', 'mderiche2', 'shen', 'mshen' und '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 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 Coeffs in addition to the filter width.
Filter (input_control) |
string -> string |
Name of the edge operator. | |
Default value: 'mderiche2' | |
List of values: 'deriche1', 'mderiche1', 'deriche2', 'mderiche2', 'shen', 'mshen', 'canny' |
Mode (input_control) |
string -> string |
1D edge filter ('edge') or 1D smoothing filter ('smooth'). | |
Default value: '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 value: 0.5 | |
Range of values: 0.2 <= Alpha <= 50.0 | |
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. |
read_image(:Image:'fabrik':) > info_edges('mderiche2','edge',0.5,Size,Coeffs) > edges__(Image:Amp,Dir:'mderiche2',0.5,'none',-1,-1:) > hysteresis_threshold__(Amp:Margin:20,30,30:).
info_edges returns TRUE if all parameters are correct. If the input is empty the behaviour can be set via set_system(::'no_object_result',<Result>:). If necessary, an exception is raised.
edges__, threshold__, skeleton