select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXld (Operator)
Name
select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXld
— Auswahl von Konturen oder Polygonen mit Hilfe von Formmerkmalen.
Signatur
Herror select_shape_xld(const Hobject XLD, Hobject* SelectedXLD, const char* Features, const char* Operation, double Min, double Max)
Herror T_select_shape_xld(const Hobject XLD, Hobject* SelectedXLD, const Htuple Features, const Htuple Operation, const Htuple Min, const Htuple Max)
void SelectShapeXld(const HObject& XLD, HObject* SelectedXLD, const HTuple& Features, const HTuple& Operation, const HTuple& Min, const HTuple& Max)
HXLD HXLD::SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const
HXLD HXLD::SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const
HXLD HXLD::SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const
HXLD HXLD::SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const
(Nur Windows)
HXLDCont HXLDCont::SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const
HXLDCont HXLDCont::SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const
HXLDCont HXLDCont::SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const
HXLDCont HXLDCont::SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const
(Nur Windows)
HXLDPoly HXLDPoly::SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const
HXLDPoly HXLDPoly::SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const
HXLDPoly HXLDPoly::SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const
HXLDPoly HXLDPoly::SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const
(Nur Windows)
HXLDPara HXLDPara::SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const
HXLDPara HXLDPara::SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const
HXLDPara HXLDPara::SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const
HXLDPara HXLDPara::SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const
(Nur Windows)
HXLDModPara HXLDModPara::SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const
HXLDModPara HXLDModPara::SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const
HXLDModPara HXLDModPara::SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const
HXLDModPara HXLDModPara::SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const
(Nur Windows)
HXLDExtPara HXLDExtPara::SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const
HXLDExtPara HXLDExtPara::SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const
HXLDExtPara HXLDExtPara::SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const
HXLDExtPara HXLDExtPara::SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const
(Nur Windows)
static void HOperatorSet.SelectShapeXld(HObject XLD, out HObject selectedXLD, HTuple features, HTuple operation, HTuple min, HTuple max)
HXLD HXLD.SelectShapeXld(HTuple features, string operation, HTuple min, HTuple max)
HXLD HXLD.SelectShapeXld(string features, string operation, double min, double max)
HXLDCont HXLDCont.SelectShapeXld(HTuple features, string operation, HTuple min, HTuple max)
HXLDCont HXLDCont.SelectShapeXld(string features, string operation, double min, double max)
HXLDPoly HXLDPoly.SelectShapeXld(HTuple features, string operation, HTuple min, HTuple max)
HXLDPoly HXLDPoly.SelectShapeXld(string features, string operation, double min, double max)
HXLDPara HXLDPara.SelectShapeXld(HTuple features, string operation, HTuple min, HTuple max)
HXLDPara HXLDPara.SelectShapeXld(string features, string operation, double min, double max)
HXLDModPara HXLDModPara.SelectShapeXld(HTuple features, string operation, HTuple min, HTuple max)
HXLDModPara HXLDModPara.SelectShapeXld(string features, string operation, double min, double max)
HXLDExtPara HXLDExtPara.SelectShapeXld(HTuple features, string operation, HTuple min, HTuple max)
HXLDExtPara HXLDExtPara.SelectShapeXld(string features, string operation, double min, double max)
Beschreibung
select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXld
wählt Konturen bzw. Polygone anhand ihrer
Form aus. Für jede Eingabekontur bzw. jedes Eingabepolygon aus
XLDXLDXLDXLDXLD
werden die angegebenen Merkmale (FeaturesFeaturesFeaturesFeaturesfeatures
)
berechnet. Wenn jedes (OperationOperationOperationOperationoperation
= 'and') oder mindestens
eines (OperationOperationOperationOperationoperation
= 'or') der so berechneten Merkmale in den
vorgegebenen Grenzen (MinMinMinMinmin
,MaxMaxMaxMaxmax
) liegt, wird die
Kontur bzw. das Polygon in die Ausgabe übernommen (dupliziert).
Um diese Grenzen nach unten oder oben offen zu lassen, kann
statt eines Wertes auch 'min'"min""min""min""min" beziehungsweise 'max'"max""max""max""max"
für MinMinMinMinmin
und MaxMaxMaxMaxmax
gesetzt werden.
Bedingung: MinMinMinMinmin
_i <= FeaturesFeaturesFeaturesFeaturesfeatures
_i(Object) <= MaxMaxMaxMaxmax
_i
Mögliche Werte für FeaturesFeaturesFeaturesFeaturesfeatures
:
(alle Features könnten auch für Polygone verwendet werden)
- 'area':
Fläche des Objektes
(vgl. area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld
)
- 'area_points':
Fläche der Konturpunkte
(vgl. area_center_points_xldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXldAreaCenterPointsXld
)
- 'row':
Zeilenindex des Schwerpunkts
(vgl. area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld
)
- 'column':
Spaltenindex des Schwerpunkts
(vgl. area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld
)
- 'column_points':
Spaltenindex des Schwerpunkts der Konturpunkte
(vgl. area_center_points_xldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXldAreaCenterPointsXld
)
- 'row_points':
Zeilenindex des Schwerpunkts der Konturpunkte
(vgl. area_center_points_xldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXldAreaCenterPointsXld
)
- 'width':
Breite der Kontur (siehe
height_width_ratio_xldheight_width_ratio_xldHeightWidthRatioXldHeightWidthRatioXldHeightWidthRatioXld
)
- 'height':
Höhe der Kontur (siehe
height_width_ratio_xldheight_width_ratio_xldHeightWidthRatioXldHeightWidthRatioXldHeightWidthRatioXld
)
- 'ratio':
Verhältnis der Höhe zur Breite der Kontur
(siehe height_width_ratio_xldheight_width_ratio_xldHeightWidthRatioXldHeightWidthRatioXldHeightWidthRatioXld
)
- 'row1':
Zeilenindex der linken oberen Ecke
(vgl. Operator smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
)
- 'column1':
Spaltenindex der linken oberen Ecke
(vgl. Operator smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
)
- 'row2':
Zeilenindex der rechten unteren Ecke
(vgl. Operator smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
)
- 'column2':
Spaltenindex der rechten unteren Ecke
(vgl. Operator smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
)
- 'circularity':
Kreisförmigkeit
(vgl. circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld
)
- 'compactness':
Kompaktheit
(vgl. compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXld
)
- 'rectangularity':
Rechteckigkeit
(vgl. rectangularity_xldrectangularity_xldRectangularityXldRectangularityXldRectangularityXld
)
- 'contlength':
Gesamtlänge der Kontur
(vgl. length_xldlength_xldLengthXldLengthXldLengthXld
)
- 'convexity':
Konvexität
(vgl. convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXld
)
- 'ra':
Hauptradius der äquivalenten Ellipse
(vgl. elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld
)
- 'rb':
Nebenradius der äquivalenten Ellipse
(vgl. elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld
)
- 'phi':
Orientierung der äquivalenten Ellipse
(vgl. elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld
)
- 'ra_points':
Hauptradius der äquivalenten Ellipse der
Konturpunkte
(vgl. elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXld
)
- 'rb_points':
Nebenradius der äquivalenten Ellipse
Konturpunkte
(vgl. elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXld
)
- 'phi_points':
Orientierung der äquivalenten Ellipse
Konturpunkte
(vgl. elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXld
)
- 'anisometry'
Anisometrie
(vgl. eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld
)
- 'anisometry_points'
Anisometrie der Konturpunkte
(vgl. eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXldEccentricityPointsXld
)
- 'bulkiness'
Bulkiness
(vgl. eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld
)
- 'struct_factor'
Strukturfaktor
(vgl. eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld
)
- 'outer_radius':
Radius des kleinsten umschließenden Kreises
(vgl. smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld
)
- 'max_diameter':
Maximale Ausdehnung der Region
(vgl. diameter_xlddiameter_xldDiameterXldDiameterXldDiameterXld
)
- 'orientation':
Orientierung der Region
(vgl. orientation_xldorientation_xldOrientationXldOrientationXldOrientationXld
)
- 'orientation_points':
Orientierung der Konturpunkte
(vgl. orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXld
)
- 'rect2_phi':
Orientierung des kleinsten umschließenden Rechtecks
(vgl. smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld
)
- 'rect2_len1':
Halbe Länge des kleinsten umschließenden Rechtecks
(vgl. smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld
)
- 'rect2_len2':
Halbe Breite des kleinsten umschließenden Rechtecks
(vgl. smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld
)
- 'moments_m11','moments_m20','moments_m02':
Geometrische Konturenmomente
(vgl. moments_xldmoments_xldMomentsXldMomentsXldMomentsXld
)
- 'moments_m11_points','moments_m20_points','moments_m02_points':
Geometrische Momente der Konturpunkte
(vgl. moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldMomentsPointsXld
)
Wird nur ein Merkmal (FeaturesFeaturesFeaturesFeaturesfeatures
) verwendet, dann ist der
Wert von OperationOperationOperationOperationoperation
bedeutungslos. Mehrere Merkmale werden
in der Reihenfolge abgearbeitet, in der sie eingegeben werden. Bei
der Berechnung einiger Merkmale muss darauf geachtet werden, dass
sich die Eingabekonturen bzw. -polygone nicht selbst schneiden, da
ansonsten keine aussagekräftigen Ergebnisse zurückgeliefert werden
können (Ob sich die Eingabekonturen bzw. -polygone selbst schneiden
oder nicht, lässt sich mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld
überprüfen).
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
XLDXLDXLDXLDXLD
(input_object) xld-array →
objectHXLDHXLDHobject
Konturen bzw. Polygone, die untersucht werden sollen.
SelectedXLDSelectedXLDSelectedXLDSelectedXLDselectedXLD
(output_object) xld-array →
objectHXLDHXLDHobject *
Konturen bzw. Polygone, die die Bedingung(en)
erfüllen.
FeaturesFeaturesFeaturesFeaturesfeatures
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Zu testende Formmerkmale.
Defaultwert:
'area'
"area"
"area"
"area"
"area"
Werteliste: 'anisometry'"anisometry""anisometry""anisometry""anisometry", 'anisometry_points'"anisometry_points""anisometry_points""anisometry_points""anisometry_points", 'area'"area""area""area""area", 'area_points'"area_points""area_points""area_points""area_points", 'bulkiness'"bulkiness""bulkiness""bulkiness""bulkiness", 'circularity'"circularity""circularity""circularity""circularity", 'column'"column""column""column""column", 'column1'"column1""column1""column1""column1", 'column2'"column2""column2""column2""column2", 'column_points'"column_points""column_points""column_points""column_points", 'compactness'"compactness""compactness""compactness""compactness", 'contlength'"contlength""contlength""contlength""contlength", 'convexity'"convexity""convexity""convexity""convexity", 'height'"height""height""height""height", 'max_diameter'"max_diameter""max_diameter""max_diameter""max_diameter", 'moments_m02'"moments_m02""moments_m02""moments_m02""moments_m02", 'moments_m02_points'"moments_m02_points""moments_m02_points""moments_m02_points""moments_m02_points", 'moments_m11'"moments_m11""moments_m11""moments_m11""moments_m11", 'moments_m11_points'"moments_m11_points""moments_m11_points""moments_m11_points""moments_m11_points", 'moments_m20'"moments_m20""moments_m20""moments_m20""moments_m20", 'moments_m20_points'"moments_m20_points""moments_m20_points""moments_m20_points""moments_m20_points", 'orientation'"orientation""orientation""orientation""orientation", 'orientation_points'"orientation_points""orientation_points""orientation_points""orientation_points", 'outer_radius'"outer_radius""outer_radius""outer_radius""outer_radius", 'phi'"phi""phi""phi""phi", 'phi_points'"phi_points""phi_points""phi_points""phi_points", 'ra'"ra""ra""ra""ra", 'ra_points'"ra_points""ra_points""ra_points""ra_points", 'ratio'"ratio""ratio""ratio""ratio", 'rb'"rb""rb""rb""rb", 'rb_points'"rb_points""rb_points""rb_points""rb_points", 'rect2_len1'"rect2_len1""rect2_len1""rect2_len1""rect2_len1", 'rect2_len2'"rect2_len2""rect2_len2""rect2_len2""rect2_len2", 'rect2_phi'"rect2_phi""rect2_phi""rect2_phi""rect2_phi", 'rectangularity'"rectangularity""rectangularity""rectangularity""rectangularity", 'row'"row""row""row""row", 'row1'"row1""row1""row1""row1", 'row2'"row2""row2""row2""row2", 'row_points'"row_points""row_points""row_points""row_points", 'struct_factor'"struct_factor""struct_factor""struct_factor""struct_factor", 'width'"width""width""width""width"
OperationOperationOperationOperationoperation
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Verknüpfungsart der einzelnen Merkmale.
Defaultwert:
'and'
"and"
"and"
"and"
"and"
Werteliste: 'and'"and""and""and""and", 'or'"or""or""or""or"
MinMinMinMinmin
(input_control) real(-array) →
HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Untere Grenzen der Merkmale oder 'min'.
Defaultwert: 150.0
Typischer Wertebereich: 0.0
≤
Min
Min
Min
Min
min
≤
99999.0
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 1.0
MaxMaxMaxMaxmax
(input_control) real(-array) →
HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Obere Grenzen der Merkmale oder 'max'.
Defaultwert: 99999.0
Typischer Wertebereich: 0.0
≤
Max
Max
Max
Max
max
≤
99999.0
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 1.0
Restriktion: Max >= Min
Ergebnis
select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXld
liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe
nicht leer ist. Das Verhalten bei leerer Eingabe (keine
Eingabeobjekte vorhanden) lässt sich mittels
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>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld
,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix
,
threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix
,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld
,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld
Nachfolger
shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXld
,
count_objcount_objCountObjCountObjCountObj
Siehe auch
area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld
,
area_center_points_xldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXldAreaCenterPointsXld
,
circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld
,
compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXld
,
convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXld
,
elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld
,
elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXld
,
eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld
,
eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXldEccentricityPointsXld
,
rectangularity_xldrectangularity_xldRectangularityXldRectangularityXldRectangularityXld
,
smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld
,
smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld
,
diameter_xlddiameter_xldDiameterXldDiameterXldDiameterXld
,
orientation_xldorientation_xldOrientationXldOrientationXldOrientationXld
,
orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXld
,
moments_xldmoments_xldMomentsXldMomentsXldMomentsXld
,
moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldMomentsPointsXld
,
select_objselect_objSelectObjSelectObjSelectObj
Modul
Foundation