select_contours_xldselect_contours_xldSelectContoursXldSelectContoursXldselect_contours_xld (Operator)
select_contours_xldselect_contours_xldSelectContoursXldSelectContoursXldselect_contours_xld
— Select XLD contours according to several features.
Signature
Herror select_contours_xld(const Hobject Contours, Hobject* SelectedContours, const char* Feature, double Min1, double Max1, double Min2, double Max2)
Herror T_select_contours_xld(const Hobject Contours, Hobject* SelectedContours, const Htuple Feature, const Htuple Min1, const Htuple Max1, const Htuple Min2, const Htuple Max2)
void SelectContoursXld(const HObject& Contours, HObject* SelectedContours, const HTuple& Feature, const HTuple& Min1, const HTuple& Max1, const HTuple& Min2, const HTuple& Max2)
HXLDCont HXLDCont::SelectContoursXld(const HString& Feature, double Min1, double Max1, double Min2, double Max2) const
HXLDCont HXLDCont::SelectContoursXld(const char* Feature, double Min1, double Max1, double Min2, double Max2) const
HXLDCont HXLDCont::SelectContoursXld(const wchar_t* Feature, double Min1, double Max1, double Min2, double Max2) const
(
Windows only)
static void HOperatorSet.SelectContoursXld(HObject contours, out HObject selectedContours, HTuple feature, HTuple min1, HTuple max1, HTuple min2, HTuple max2)
HXLDCont HXLDCont.SelectContoursXld(string feature, double min1, double max1, double min2, double max2)
Description
select_contours_xldselect_contours_xldSelectContoursXldSelectContoursXldselect_contours_xld
selects XLD contours from the input
contours ContoursContoursContourscontourscontours
according to the following features
(parameter FeatureFeatureFeaturefeaturefeature
):
- 'contour_length'"contour_length""contour_length""contour_length""contour_length":
-
all contours whose length is smaller
than Min1Min1Min1min1min_1
or larger than Max1Max1Max1max1max_1
are not returned (Min2Min2Min2min2min_2
and
Max2Max2Max2max2max_2
have no influence here).
- 'maximum_extent'"maximum_extent""maximum_extent""maximum_extent""maximum_extent":
-
all contours whose maximum extent (as
measured by their eight extremal
points in row and column direction,
according to Haralick and Shapiro:
Computer and Robot Vision,
Addison-Wesley 1992, chapter 3.2) is
smaller than Min1Min1Min1min1min_1
or larger
than Max1Max1Max1max1max_1
are not returned
(Min2Min2Min2min2min_2
and Max2Max2Max2max2max_2
have
no influence here).
- 'direction'"direction""direction""direction""direction":
-
only contours for which the direction of
the regression line is between
Min1Min1Min1min1min_1
and Max1Max1Max1max1max_1
(in
radians, counter-clockwise) are returned.
Min1Min1Min1min1min_1
and Max1Max1Max1max1max_1
are
mapped to the range of [0,2*PI[.
(Min2Min2Min2min2min_2
and Max2Max2Max2max2max_2
have
no influence here).
- 'curvature'"curvature""curvature""curvature""curvature":
-
only contours for which the mean distance
from the regression line lies between
Min1Min1Min1min1min_1
and Max1Max1Max1max1max_1
, and
for which the standard deviation of the
distances is between Min2Min2Min2min2min_2
and
Max2Max2Max2max2max_2
are returned.
- 'closed'"closed""closed""closed""closed":
-
only contours for which the distance between
their start point and their end point is less or equal
Max1Max1Max1max1max_1
pixels are returned. (Min1Min1Min1min1min_1
,
Min2Min2Min2min2min_2
and Max2Max2Max2max2max_2
have no influence
here.)
- 'open'"open""open""open""open":
only contours for which the distance between their
start point and their end point is greater than
Min1Min1Min1min1min_1
pixels are returned. (Max1Max1Max1max1max_1
,
Min2Min2Min2min2min_2
and Max2Max2Max2max2max_2
have no influence
here).
If Min1Min1Min1min1min_1
= Max1Max1Max1max1max_1
= 0 or Min2Min2Min2min2min_2
=
Max2Max2Max2max2max_2
= 0 is used for the selection according to curvature,
the respective feature has no influence on the selection.
Attention
Before contour can be filtered by select_contours_xldselect_contours_xldSelectContoursXldSelectContoursXldselect_contours_xld
according to 'direction'"direction""direction""direction""direction" or 'curvature'"curvature""curvature""curvature""curvature", the parameters of
the regression lines to the contours must be calculated with
regress_contours_xldregress_contours_xldRegressContoursXldRegressContoursXldregress_contours_xld
. If this has not been done,
select_contours_xldselect_contours_xldSelectContoursXldSelectContoursXldselect_contours_xld
calls regress_contours_xldregress_contours_xldRegressContoursXldRegressContoursXldregress_contours_xld
internally with the parameters ModeModeModemodemode
= 'no'"no""no""no""no" and
IterationsIterationsIterationsiterationsiterations
= 1. If a different mode should be
used, regress_contours_xldregress_contours_xldRegressContoursXldRegressContoursXldregress_contours_xld
must be called explicitly.
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
ContoursContoursContourscontourscontours
(input_object) xld_cont-array →
objectHXLDContHObjectHObjectHobject
Input XLD contours.
SelectedContoursSelectedContoursSelectedContoursselectedContoursselected_contours
(output_object) xld_cont-array →
objectHXLDContHObjectHObjectHobject *
Output XLD contours.
FeatureFeatureFeaturefeaturefeature
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Feature to select contours with.
Default:
'contour_length'
"contour_length"
"contour_length"
"contour_length"
"contour_length"
List of values:
'closed'"closed""closed""closed""closed", 'contour_length'"contour_length""contour_length""contour_length""contour_length", 'curvature'"curvature""curvature""curvature""curvature", 'direction'"direction""direction""direction""direction", 'maximum_extent'"maximum_extent""maximum_extent""maximum_extent""maximum_extent", 'open'"open""open""open""open"
Min1Min1Min1min1min_1
(input_control) real →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Lower threshold.
Default:
0.5
Max1Max1Max1max1max_1
(input_control) real →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Upper threshold.
Default:
200.0
Min2Min2Min2min2min_2
(input_control) real →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Lower threshold.
Default:
-0.5
Max2Max2Max2max2max_2
(input_control) real →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Upper threshold.
Default:
0.5
Possible Predecessors
regress_contours_xldregress_contours_xldRegressContoursXldRegressContoursXldregress_contours_xld
See also
get_contour_xldget_contour_xldGetContourXldGetContourXldget_contour_xld
,
get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldget_contour_attrib_xld
,
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld
,
lines_gausslines_gaussLinesGaussLinesGausslines_gauss
,
lines_facetlines_facetLinesFacetLinesFacetlines_facet
,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixedges_sub_pix
,
get_regress_params_xldget_regress_params_xldGetRegressParamsXldGetRegressParamsXldget_regress_params_xld
,
get_contour_global_attrib_xldget_contour_global_attrib_xldGetContourGlobalAttribXldGetContourGlobalAttribXldget_contour_global_attrib_xld
,
query_contour_global_attribs_xldquery_contour_global_attribs_xldQueryContourGlobalAttribsXldQueryContourGlobalAttribsXldquery_contour_global_attribs_xld
References
R. Haralick, L. Shapiro: “Computer and Robot Vision” Vol. 1;
Kapitel 3.2, Addison-Wesley 1992
Module
Foundation