polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv (Operator)
Name
polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv — Rücktransformieren einer Kontur in Polarkoordinaten
Signatur
Herror polar_trans_contour_xld_inv(const Hobject PolarContour, Hobject* XYTransContour, double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, const Hlong WidthIn, const Hlong HeightIn, const Hlong Width, const Hlong Height)
Herror T_polar_trans_contour_xld_inv(const Hobject PolarContour, Hobject* XYTransContour, const Htuple Row, const Htuple Column, const Htuple AngleStart, const Htuple AngleEnd, const Htuple RadiusStart, const Htuple RadiusEnd, const Htuple WidthIn, const Htuple HeightIn, const Htuple Width, const Htuple Height)
void PolarTransContourXldInv(const HObject& PolarContour, HObject* XYTransContour, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height)
HXLDCont HXLDCont::PolarTransContourXldInv(const HTuple& Row, const HTuple& Column, double AngleStart, double AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height) const
HXLDCont HXLDCont::PolarTransContourXldInv(double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height) const
static void HOperatorSet.PolarTransContourXldInv(HObject polarContour, out HObject XYTransContour, HTuple row, HTuple column, HTuple angleStart, HTuple angleEnd, HTuple radiusStart, HTuple radiusEnd, HTuple widthIn, HTuple heightIn, HTuple width, HTuple height)
HXLDCont HXLDCont.PolarTransContourXldInv(HTuple row, HTuple column, double angleStart, double angleEnd, HTuple radiusStart, HTuple radiusEnd, int widthIn, int heightIn, int width, int height)
HXLDCont HXLDCont.PolarTransContourXldInv(double row, double column, double angleStart, double angleEnd, double radiusStart, double radiusEnd, int widthIn, int heightIn, int width, int height)
def polar_trans_contour_xld_inv(polar_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_in: int, height_in: int, width: int, height: int) -> HObject
Beschreibung
polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv transformiert die
Polarkoordinatendarstellung eines Kontur, gespeichert in
PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour, zurück auf einen Kreisring in kartesischen
Koordinaten, der durch die Radien RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start und
RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end sowie durch die Winkel AngleStartAngleStartAngleStartAngleStartangleStartangle_start und
AngleEndAngleEndAngleEndAngleEndangleEndangle_end beschrieben ist und dessen Mittelpunkt in
(RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn) liegt. Alle diese Werte können frei
aus den reellen Zahlen gewählt werden. Die Gesamtgröße des
Ausgabebildes beträgt WidthWidthWidthWidthwidthwidth x HeightHeightHeightHeightheightheight
Pixel. Zusätzlich müssen die Dimensionen des virtuellen
Eingabebildes, welches die Kontur PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour enthält, in
WidthInWidthInWidthInWidthInwidthInwidth_in und HeightInHeightInHeightInHeightInheightInheight_in übergeben
werden. WidthInWidthInWidthInWidthInwidthInwidth_in-1 ist die Spaltenkoordinate, die
AngleEndAngleEndAngleEndAngleEndangleEndangle_end entspricht und HeightInHeightInHeightInHeightInheightInheight_in-1 ist die
Zeilenkoordinate, die RadiusEndRadiusEndRadiusEndRadiusEndradiusEndradius_end
entspricht. AngleStartAngleStartAngleStartAngleStartangleStartangle_start bzw. RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start entspricht
der Spalten- bzw. Zeilenkoordinate 0. Außerdem müssen die
Dimensionen des virtuellen Ausgabebildes, welches die Region
XYTransContourXYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour enthält, in WidthWidthWidthWidthwidthwidth und
HeightHeightHeightHeightheightheight übergeben werden. An dessen Rändern wird die
Ausgabekontur beschnitten.
polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv ist die exakte Umkehrfunktion zu
polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld.
Die Aufrufsequenz:
polar_trans_contour_xld(Contour, PolarContour, Row, Column, rad(360), 0, 0, Radius, Width, Height)polar_trans_contour_xld(Contour, PolarContour, Row, Column, rad(360), 0, 0, Radius, Width, Height)PolarTransContourXld(Contour, PolarContour, Row, Column, rad(360), 0, 0, Radius, Width, Height)PolarTransContourXld(Contour, PolarContour, Row, Column, rad(360), 0, 0, Radius, Width, Height)PolarTransContourXld(Contour, PolarContour, Row, Column, rad(360), 0, 0, Radius, Width, Height)polar_trans_contour_xld(Contour, PolarContour, Row, Column, rad(360), 0, 0, Radius, Width, Height)
|
polar_trans_contour_xld_inv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)polar_trans_contour_xld_inv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)PolarTransContourXldInv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)PolarTransContourXldInv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)PolarTransContourXldInv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)polar_trans_contour_xld_inv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)
|
liefert in der Ausgabekontur XYTransContourXYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour die Kontur
ImageImageImageImageimageimage eingeschränkt auf den Kreis um (RowRowRowRowrowrow,
ColumnColumnColumnColumncolumncolumn) mit Radius RadiusRadiusRadiusRadiusradiusradius zurück.
XYTransContourXYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour kann aus mehreren Konturen bestehen, da die
Kontur PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour an den Rändern des virtuellen
Ausgabebildes, das durch WidthWidthWidthWidthwidthwidth und HeightHeightHeightHeightheightheight
definiert wird, beschnitten wird.
Werden mehrere Konturen in PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour übergeben, werden
deren Transformationen individuell berechnet und als Tupel in
XYTransContourXYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour abgespeichert. Da eine Kontur bei der
Transformation in mehrere Konturen geteilt werden kann, besteht kein
Zusammenhang zwischen den Indizes des Eingabetupels
PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour und den Indizes des Ausgabetupels
XYTransContourXYTransContourXYTransContourXYTransContourXYTransContourxytrans_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_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv nur dann brauchbare Ergebnisse,
wenn die Abstände der Konturpunkte klein sind. Eventuelle Attribute
werden nicht mittransformiert.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Parameter
PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour (input_object) xld_cont(-array) → objectHXLDContHObjectHXLDContHobject
Eingabekontur.
XYTransContourXYTransContourXYTransContourXYTransContourXYTransContourxytrans_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, auf den die Spaltenkoordinate 0
von PolarContourPolarContourPolarContourPolarContourpolarContourpolar_contour abgebildet wird.
Defaultwert: 0.0
Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853
Typischer Wertebereich: -6.2831853
≤
AngleStart
AngleStart
AngleStart
AngleStart
angleStart
angle_start
≤
6.2831853
RadiusStartRadiusStartRadiusStartRadiusStartradiusStartradius_start (input_control) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Kreisradius, auf den die Zeilenkoordinate 0
in PolarContourPolarContourPolarContourPolarContourpolarContourpolar_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
WidthInWidthInWidthInWidthInwidthInwidth_in (input_control) extent.x → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Breite des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 0
≤
WidthIn
WidthIn
WidthIn
WidthIn
widthIn
width_in
≤
32767
HeightInHeightInHeightInHeightInheightInheight_in (input_control) extent.y → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Höhe des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 0
≤
HeightIn
HeightIn
HeightIn
HeightIn
heightIn
height_in
≤
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_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld
Modul
Foundation