info_edges — Estimate the width of a filter in edges_image.
info_edges returns an estimate of the width 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 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.
Name of the edge operator.
Default value: 'lanser2'
List of values: 'canny', 'deriche1', 'deriche2', 'lanser1', 'lanser2', 'mshen', 'shen'
1D edge filter ('edge') or 1D smoothing filter ('smooth').
Default value: 'edge'
List of values: 'edge', '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 ≤ 50.0
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: Alpha > 0.0
Filter width in pixels.
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)
info_edges 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>). If necessary, an exception is raised.
edges_image, threshold, skeleton