polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld (Operator)

Name

polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld — Anwenden einer Polarkoordinatentransformation auf eine Kontur.

Signatur

polar_trans_contour_xld(Contour : PolarTransContour : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height : )

Herror polar_trans_contour_xld(const Hobject Contour, Hobject* PolarTransContour, double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, const Hlong Width, const Hlong Height)

Herror T_polar_trans_contour_xld(const Hobject Contour, Hobject* PolarTransContour, const Htuple Row, const Htuple Column, const Htuple AngleStart, const Htuple AngleEnd, const Htuple RadiusStart, const Htuple RadiusEnd, const Htuple Width, const Htuple Height)

void PolarTransContourXld(const HObject& Contour, HObject* PolarTransContour, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& Width, const HTuple& Height)

HXLDCont HXLDCont::PolarTransContourXld(const HTuple& Row, const HTuple& Column, double AngleStart, double AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, Hlong Width, Hlong Height) const

HXLDCont HXLDCont::PolarTransContourXld(double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, Hlong Width, Hlong Height) const

static void HOperatorSet.PolarTransContourXld(HObject contour, out HObject polarTransContour, HTuple row, HTuple column, HTuple angleStart, HTuple angleEnd, HTuple radiusStart, HTuple radiusEnd, HTuple width, HTuple height)

HXLDCont HXLDCont.PolarTransContourXld(HTuple row, HTuple column, double angleStart, double angleEnd, HTuple radiusStart, HTuple radiusEnd, int width, int height)

HXLDCont HXLDCont.PolarTransContourXld(double row, double column, double angleStart, double angleEnd, double radiusStart, double radiusEnd, int width, int height)

def polar_trans_contour_xld(contour: HObject, row: Union[int, float], column: Union[int, float], angle_start: float, angle_end: float, radius_start: Union[int, float], radius_end: Union[int, float], width: int, height: int) -> HObject

Beschreibung

polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld transformiert eine Kontur ContourContourContourContourcontourcontour im durch den Mittelpunkt (RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn), die Radien RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start und RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end und die Winkel AngleStartAngleStartAngleStartAngleStartangleStartangle_start und AngleEndAngleEndAngleEndAngleEndangleEndangle_end definierten Kreisring auf dessen Polarkoordinatendarstellung in einem virtuellen Bild mit den Dimensionen WidthWidthWidthWidthwidthwidth x HeightHeightHeightHeightheightheight. Die Ausgabekontur wird an den Rändern dieses virtuellen Bildes beschnitten.

Die Koordinate (0,0) in der Ausgabekontur PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour entspricht immer dem Konturpunkt, der durch RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start und AngleStartAngleStartAngleStartAngleStartangleStartangle_start spezifiziert wird. Analog entspricht die Koordinate HeightHeightHeightHeightheightheight-1,WidthWidthWidthWidthwidthwidth-1 in der Ausgabekontur immer dem Konturpunkt, der durch RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end und AngleEndAngleEndAngleEndAngleEndangleEndangle_end spezifiziert wird, auch wenn diese Punkte nicht in der Kontur ContourContourContourContourcontourcontour enthalten sind. Im Normalfall (AngleStartAngleStartAngleStartAngleStartangleStartangle_start < AngleEndAngleEndAngleEndAngleEndangleEndangle_end und RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start < RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end) wird die Polarkoordinatentransformation also in mathematisch positiver Durchlaufrichtung (entgegen dem Uhrzeigersinn) durchgeführt. Dabei liegen die Punkte mit kleineren Radien im virtuellen Ausgabebild weiter oben. Durch geeignetes Vertauschen der Werte der Parameter (z.B. AngleStartAngleStartAngleStartAngleStartangleStartangle_start > AngleEndAngleEndAngleEndAngleEndangleEndangle_end oder RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start > RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end) kann jede beliebige Orientierung der Ausgabekontur erreicht werden.

Die Winkel sind frei als reelle Zahlen wählbar, Mittelpunkt und Radien können ebenfalls frei als reelle Zahlen gewählt werden.

PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour kann aus mehreren Konturen bestehen, da die Kontur ContourContourContourContourcontourcontour an den Winkelgrenzen AngleStartAngleStartAngleStartAngleStartangleStartangle_start bzw. AngleEndAngleEndAngleEndAngleEndangleEndangle_end geteilt werden kann. Außerdem kann die Länge des Winkelintervalls [AngleStartAngleStartAngleStartAngleStartangleStartangle_start,AngleEndAngleEndAngleEndAngleEndangleEndangle_end] größer sein als 2pi.

Werden mehrere Konturen in ContourContourContourContourcontourcontour übergeben, werden deren Polartransformationen individuell berechnet und als Tupel in PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour abgespeichert. Da eine Kontur bei der Transformation in mehrere Konturen geteilt werden kann, besteht kein Zusammenhang zwischen den Indizes des Eingabetupels ContourContourContourContourcontourcontour und den Indizes des Ausgabetupels PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour.

Weitere Informationen

Ein Überblick zu den verschiedenen in HALCON verwendeten 2D Koordinatensystemen ist in der Einleitung zum Kapitel Transformationen / 2D-Transformationen gegeben.

Achtung

Es werden nur die Konturpunkte transformiert. Da die Polartransformation keine affine Abbildung ist, liefert der Operator polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld nur dann brauchbare Ergebnisse, wenn die Abstände der Konturpunkte klein sind. Eventuelle Attribute werden nicht mittransformiert.

Ausführungsinformationen

Parameter

ContourContourContourContourcontourcontour (input_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

Eingabekontur.

PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour (output_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject *

Ergebniskontur.

RowRowRowRowrowrow (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Zeilenkoordinate des Kreismittelpunktes.

Defaultwert: 256

Wertevorschläge: 0, 16, 32, 64, 128, 240, 256, 480, 512

ColumnColumnColumnColumncolumncolumn (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Spaltenkoordinate des Kreismittelpunktes.

Defaultwert: 256

Wertevorschläge: 0, 16, 32, 64, 128, 256, 320, 512, 640

AngleStartAngleStartAngleStartAngleStartangleStartangle_start (input_control)  angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

Winkel, der auf die Spaltenkoordinate 0 in PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour abgebildet wird.

Defaultwert: 0.0

Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853, 12.566370616

Typischer Wertebereich: -6.2831853 ≤ AngleStart AngleStart AngleStart AngleStart angleStart angle_start ≤ 6.2831853

AngleEndAngleEndAngleEndAngleEndangleEndangle_end (input_control)  angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

Winkel, der auf die Spaltenkoordinate WidthWidthWidthWidthwidthwidth-1 in PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour abgebildet wird.

Defaultwert: 6.2831853

Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853, 12.566370616

Typischer Wertebereich: -6.2831853 ≤ AngleEnd AngleEnd AngleEnd AngleEnd angleEnd angle_end ≤ 6.2831853

RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Kreisradius, der auf die Zeilenkoordinate 0 in PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour abgebildet wird.

Defaultwert: 0

Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512

Typischer Wertebereich: 0 ≤ RadiusStart RadiusStart RadiusStart RadiusStart radiusStart radius_start ≤ 32767

RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Kreisradius, der auf die Zeilenkoordinate HeightHeightHeightHeightheightheight-1 in PolarTransContourPolarTransContourPolarTransContourPolarTransContourpolarTransContourpolar_trans_contour abgebildet wird.

Defaultwert: 100

Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512

Typischer Wertebereich: 0 ≤ RadiusEnd RadiusEnd RadiusEnd RadiusEnd radiusEnd radius_end ≤ 32767

WidthWidthWidthWidthwidthwidth (input_control)  extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des virtuellen Zielbildes.

Defaultwert: 512

Wertevorschläge: 256, 320, 512, 640, 800, 1024

Typischer Wertebereich: 0 ≤ Width Width Width Width width width ≤ 32767

HeightHeightHeightHeightheightheight (input_control)  extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des virtuellen Zielbildes.

Defaultwert: 512

Wertevorschläge: 240, 256, 480, 512, 600, 1024

Typischer Wertebereich: 0 ≤ Height Height Height Height height height ≤ 32767

Siehe auch

polar_trans_image_extpolar_trans_image_extPolarTransImageExtPolarTransImageExtPolarTransImageExtpolar_trans_image_ext, polar_trans_image_invpolar_trans_image_invPolarTransImageInvPolarTransImageInvPolarTransImageInvpolar_trans_image_inv, polar_trans_regionpolar_trans_regionPolarTransRegionPolarTransRegionPolarTransRegionpolar_trans_region, polar_trans_region_invpolar_trans_region_invPolarTransRegionInvPolarTransRegionInvPolarTransRegionInvpolar_trans_region_inv, polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv

Modul

Foundation