info_edges T_info_edges InfoEdges InfoEdges info_edges (Operator)
Name
info_edges T_info_edges InfoEdges InfoEdges info_edges
— Return the filter coefficients of a filter in edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image
.
Signature
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 )
static Hlong HMisc ::InfoEdges (const wchar_t* Filter , const wchar_t* Mode , double Alpha , HTuple* Coeffs )
(Windows only)
def info_edges (filter : str, mode : str, alpha : float) -> Tuple[int, Sequence[int]]
Description
info_edges info_edges InfoEdges InfoEdges InfoEdges info_edges
returns the coefficients Coeffs Coeffs Coeffs Coeffs coeffs coeffs
and an estimate
of the width Size Size Size Size size size
of any of the filters used in edges_image edges_image EdgesImage EdgesImage EdgesImage 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 Alpha Alpha Alpha alpha alpha
is the filter
parameter (see edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image
). Seven edge operators are
supported (parameter Filter Filter Filter Filter filter filter
):
'deriche1', 'lanser1', 'deriche2', 'lanser2',
'shen', 'mshen' and 'canny'.
The parameter Mode Mode Mode Mode mode 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 Coeffs Coeffs Coeffs coeffs coeffs
of the one-dimensional impulse
responses are returned as
. All
other filters are implemented recursively; here, the Coeffs Coeffs Coeffs Coeffs coeffs 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
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Parameters
Filter Filter Filter Filter filter filter
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
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"
Mode Mode Mode Mode mode mode
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
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"
Alpha Alpha Alpha Alpha alpha alpha
(input_control) real →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
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
Size Size Size Size size size
(output_control) integer →
HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Filter width in pixels.
Coeffs Coeffs Coeffs Coeffs coeffs coeffs
(output_control) integer-array →
HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
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)
Example (C)
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);
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)
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)
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)
Result
info_edges info_edges InfoEdges InfoEdges InfoEdges 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>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>)
. If
necessary, an exception is raised.
Possible Successors
edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image
,
threshold threshold Threshold Threshold Threshold threshold
,
skeleton skeleton Skeleton Skeleton Skeleton skeleton
See also
edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image
Module
Foundation