segment_contour_attrib_xld segment_contour_attrib_xld SegmentContourAttribXld SegmentContourAttribXld segment_contour_attrib_xld (Operator)
segment_contour_attrib_xld segment_contour_attrib_xld SegmentContourAttribXld SegmentContourAttribXld segment_contour_attrib_xld
— Segment XLD contour parts whose local attributes fulfill given
conditions.
Signature
Herror segment_contour_attrib_xld (const Hobject Contour , Hobject* ContourPart , const char* Attribute , const char* Operation , double Min , double Max )
Herror T_segment_contour_attrib_xld (const Hobject Contour , Hobject* ContourPart , const Htuple Attribute , const Htuple Operation , const Htuple Min , const Htuple Max )
void SegmentContourAttribXld (const HObject& Contour , HObject* ContourPart , const HTuple& Attribute , const HTuple& Operation , const HTuple& Min , const HTuple& Max )
HXLDCont HXLDCont ::SegmentContourAttribXld (const HTuple& Attribute , const HString& Operation , const HTuple& Min , const HTuple& Max ) const
HXLDCont HXLDCont ::SegmentContourAttribXld (const HString& Attribute , const HString& Operation , double Min , double Max ) const
HXLDCont HXLDCont ::SegmentContourAttribXld (const char* Attribute , const char* Operation , double Min , double Max ) const
HXLDCont HXLDCont ::SegmentContourAttribXld (const wchar_t* Attribute , const wchar_t* Operation , double Min , double Max ) const
(
Windows only)
static void HOperatorSet .SegmentContourAttribXld (HObject contour , out HObject contourPart , HTuple attribute , HTuple operation , HTuple min , HTuple max )
HXLDCont HXLDCont .SegmentContourAttribXld (HTuple attribute , string operation , HTuple min , HTuple max )
HXLDCont HXLDCont .SegmentContourAttribXld (string attribute , string operation , double min , double max )
def segment_contour_attrib_xld (contour : HObject, attribute : MaybeSequence[str], operation : str, min : MaybeSequence[Union[int, float, str]], max : MaybeSequence[Union[int, float, str]]) -> HObject
Description
segment_contour_attrib_xld segment_contour_attrib_xld SegmentContourAttribXld SegmentContourAttribXld segment_contour_attrib_xld
segments the contour in
Contour Contour Contour contour contour
into contour parts ContourPart ContourPart ContourPart contourPart contour_part
. The segmentation
of the contour depends on the values of its attributes Attribute Attribute Attribute attribute attribute
(see the possible values for Attribute Attribute Attribute attribute attribute
below).
The operator checks which attribute values lie within the given limits
(Min Min Min min min
, Max Max Max max max
) and returns the corresponding contour
segments with its attributes in ContourPart ContourPart ContourPart contourPart contour_part
.
If Operation Operation Operation operation operation
is set to 'and' "and" "and" "and" "and" , each of the given attributes
must lie within the limits.
If Operation Operation Operation operation operation
is set to 'or' "or" "or" "or" "or" , at least one of
the attributes has to be within the limits. The attributes are processed
in the same order as they are given in Attribute Attribute Attribute attribute attribute
.
If only one attribute is used, the value of Operation Operation Operation operation operation
is
ignored.
The parameters Min Min Min min min
and Max Max Max max max
can be set to
'min' "min" "min" "min" "min" or 'max' "max" "max" "max" "max" in order to leave bottom and top limit,
respectively, open.
Note that not all attributes are defined in all contours per default.
Which attributes
are defined for a contour depends on how the contour was
instantiated, and whether some operations have been previously performed on
it. For example, the attributes 'width_right' "width_right" "width_right" "width_right" "width_right" and
'width_left' "width_left" "width_left" "width_left" "width_left" are only
defined, if the contour was created with the operator lines_gauss lines_gauss LinesGauss LinesGauss lines_gauss
.
Likewise, the attribute 'distance' "distance" "distance" "distance" "distance" is only present if the distances
to some other contour was previously calculated with
distance_contours_xld distance_contours_xld DistanceContoursXld DistanceContoursXld distance_contours_xld
or apply_distance_transform_xld apply_distance_transform_xld ApplyDistanceTransformXld ApplyDistanceTransformXld apply_distance_transform_xld
.
Condition:
Possible values for Attribute Attribute Attribute attribute attribute
:
'edge_direction':
Edge direction
'angle':
Angle of the direction perpendicular to the contour
'response':
Magnitude of the second derivative
'width_right':
Line width to the right of the line
'width_left':
Line width to the left of the line
'contrast':
Contrast of the line point
'asymmetry':
Asymmetry of the line point
'distance':
Minimum pointwise distance to a reference contour
To find out which operators add the attributes above to contours and further
details about those attributes, see get_contour_attrib_xld get_contour_attrib_xld GetContourAttribXld GetContourAttribXld get_contour_attrib_xld
.
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
Contour Contour Contour contour contour
(input_object) xld_cont(-array) →
object HXLDCont HObject HObject Hobject
Contour to be segmented.
ContourPart ContourPart ContourPart contourPart contour_part
(output_object) xld_cont-array →
object HXLDCont HObject HObject Hobject *
Segmented contour parts.
Attribute Attribute Attribute attribute attribute
(input_control) string(-array) →
HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Contour attributes to be checked.
Default:
'distance'
"distance"
"distance"
"distance"
"distance"
List of values:
'angle' "angle" "angle" "angle" "angle" , 'asymmetry' "asymmetry" "asymmetry" "asymmetry" "asymmetry" , 'contrast' "contrast" "contrast" "contrast" "contrast" , 'distance' "distance" "distance" "distance" "distance" , 'edge_direction' "edge_direction" "edge_direction" "edge_direction" "edge_direction" , 'response' "response" "response" "response" "response" , 'width_left' "width_left" "width_left" "width_left" "width_left" , 'width_right' "width_right" "width_right" "width_right" "width_right"
Operation Operation Operation operation operation
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Linkage type of the individual attributes.
Default:
'and'
"and"
"and"
"and"
"and"
List of values:
'and' "and" "and" "and" "and" , 'or' "or" "or" "or" "or"
Min Min Min min min
(input_control) real(-array) →
HTuple MaybeSequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Lower limits of the attribute values.
Default:
150.0
Minimum increment:
0.001
Recommended increment:
1.0
Max Max Max max max
(input_control) real(-array) →
HTuple MaybeSequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Upper limits of the attribute values.
Default:
99999.0
Minimum increment:
0.001
Recommended increment:
1.0
Restriction:
Max >= Min
Example (HDevelop)
read_image (Image, 'fabrik')
edges_sub_pix (Image, Edges, 'canny', 1, 20, 40)
* select 'vertical' edges:
segment_contour_attrib_xld (Edges, ContourPart, 'edge_direction', \
'and', rad(90-20), rad(90+20))
Result
The operator segment_contour_attrib_xld segment_contour_attrib_xld SegmentContourAttribXld SegmentContourAttribXld segment_contour_attrib_xld
returns the value 2 (
H_MSG_TRUE )
if the input is not empty. The behavior in case of empty input
(no input objects available) is set via the operator
set_system('no_object_result',<Result>) set_system("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 Predecessors
lines_gauss lines_gauss LinesGauss LinesGauss lines_gauss
,
edges_sub_pix edges_sub_pix EdgesSubPix EdgesSubPix edges_sub_pix
,
apply_distance_transform_xld apply_distance_transform_xld ApplyDistanceTransformXld ApplyDistanceTransformXld apply_distance_transform_xld
,
distance_contours_xld distance_contours_xld DistanceContoursXld DistanceContoursXld distance_contours_xld
Possible Successors
fit_line_contour_xld fit_line_contour_xld FitLineContourXld FitLineContourXld fit_line_contour_xld
,
fit_ellipse_contour_xld fit_ellipse_contour_xld FitEllipseContourXld FitEllipseContourXld fit_ellipse_contour_xld
,
fit_circle_contour_xld fit_circle_contour_xld FitCircleContourXld FitCircleContourXld fit_circle_contour_xld
,
fit_rectangle2_contour_xld fit_rectangle2_contour_xld FitRectangle2ContourXld FitRectangle2ContourXld fit_rectangle2_contour_xld
See also
split_contours_xld split_contours_xld SplitContoursXld SplitContoursXld split_contours_xld
,
get_contour_global_attrib_xld get_contour_global_attrib_xld GetContourGlobalAttribXld GetContourGlobalAttribXld get_contour_global_attrib_xld
,
query_contour_attribs_xld query_contour_attribs_xld QueryContourAttribsXld QueryContourAttribsXld query_contour_attribs_xld
,
get_contour_attrib_xld get_contour_attrib_xld GetContourAttribXld GetContourAttribXld get_contour_attrib_xld
Module
Foundation