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

polar_trans_contour_xld_inv(PolarContour : XYTransContour : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn, Width, Height : )

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_invPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv transformiert die Polarkoordinatendarstellung eines Kontur, gespeichert in PolarContourPolarContourPolarContourpolarContourpolar_contour, zurück auf einen Kreisring in kartesischen Koordinaten, der durch die Radien RadiusStartRadiusStartRadiusStartradiusStartradius_start und RadiusEndRadiusEndRadiusEndradiusEndradius_end sowie durch die Winkel AngleStartAngleStartAngleStartangleStartangle_start und AngleEndAngleEndAngleEndangleEndangle_end beschrieben ist und dessen Mittelpunkt in (RowRowRowrowrow, ColumnColumnColumncolumncolumn) liegt. Alle diese Werte können frei aus den reellen Zahlen gewählt werden. Die Gesamtgröße des Ausgabebildes beträgt WidthWidthWidthwidthwidth x HeightHeightHeightheightheight Pixel. Zusätzlich müssen die Dimensionen des virtuellen Eingabebildes, welches die Kontur PolarContourPolarContourPolarContourpolarContourpolar_contour enthält, in WidthInWidthInWidthInwidthInwidth_in und HeightInHeightInHeightInheightInheight_in übergeben werden. WidthInWidthInWidthInwidthInwidth_in-1 ist die Spaltenkoordinate, die AngleEndAngleEndAngleEndangleEndangle_end entspricht und HeightInHeightInHeightInheightInheight_in-1 ist die Zeilenkoordinate, die RadiusEndRadiusEndRadiusEndradiusEndradius_end entspricht. AngleStartAngleStartAngleStartangleStartangle_start bzw. RadiusStartRadiusStartRadiusStartradiusStartradius_start entspricht der Spalten- bzw. Zeilenkoordinate 0. Außerdem müssen die Dimensionen des virtuellen Ausgabebildes, welches die Region XYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour enthält, in WidthWidthWidthwidthwidth und HeightHeightHeightheightheight übergeben werden. An dessen Rändern wird die Ausgabekontur beschnitten.

polar_trans_contour_xld_invpolar_trans_contour_xld_invPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv ist die exakte Umkehrfunktion zu polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldpolar_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)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)polar_trans_contour_xld_inv(PolarContour, XYTransContour, Row, Column, rad(360), 0, 0, Radius, Width, Height, WidthOut, HeightOut)
liefert in der Ausgabekontur XYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour die Kontur ImageImageImageimageimage eingeschränkt auf den Kreis um (RowRowRowrowrow, ColumnColumnColumncolumncolumn) mit Radius RadiusRadiusRadiusradiusradius zurück.

XYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour kann aus mehreren Konturen bestehen, da die Kontur PolarContourPolarContourPolarContourpolarContourpolar_contour an den Rändern des virtuellen Ausgabebildes, das durch WidthWidthWidthwidthwidth und HeightHeightHeightheightheight definiert wird, beschnitten wird.

Werden mehrere Konturen in PolarContourPolarContourPolarContourpolarContourpolar_contour übergeben, werden deren Transformationen individuell berechnet und als Tupel in XYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour abgespeichert. Da eine Kontur bei der Transformation in mehrere Konturen geteilt werden kann, besteht kein Zusammenhang zwischen den Indizes des Eingabetupels PolarContourPolarContourPolarContourpolarContourpolar_contour und den Indizes des Ausgabetupels XYTransContourXYTransContourXYTransContourXYTransContourxytrans_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_invPolarTransContourXldInvPolarTransContourXldInvpolar_trans_contour_xld_inv nur dann brauchbare Ergebnisse, wenn die Abstände der Konturpunkte klein sind. Eventuelle Attribute werden nicht mittransformiert.

Ausführungsinformationen

Parameter

PolarContourPolarContourPolarContourpolarContourpolar_contour (input_object)  xld_cont(-array) objectHXLDContHObjectHObjectHobject

Eingabekontur.

XYTransContourXYTransContourXYTransContourXYTransContourxytrans_contour (output_object)  xld_cont(-array) objectHXLDContHObjectHObjectHobject *

Ergebniskontur.

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

Zeilenkoordinate des Kreismittelpunktes.

Default: 256

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

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

Spaltenkoordinate des Kreismittelpunktes.

Default: 256

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

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

Winkel, auf den die Spaltenkoordinate 0 von PolarContourPolarContourPolarContourpolarContourpolar_contour abgebildet wird.

Default: 0.0

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

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

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

Winkel, auf den die Spaltenkoordinate WidthInWidthInWidthInwidthInwidth_in -1 in PolarContourPolarContourPolarContourpolarContourpolar_contour abgebildet wird.

Default: 6.2831853

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

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

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

Kreisradius, auf den die Zeilenkoordinate 0 in PolarContourPolarContourPolarContourpolarContourpolar_contour abgebildet wird.

Default: 0

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

Wertebereich: 0 ≤ RadiusStart RadiusStart RadiusStart radiusStart radius_start ≤ 32767

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

Kreisradius, auf den die Zeilenkoordinate HeightInHeightInHeightInheightInheight_in-1 in PolarContourPolarContourPolarContourpolarContourpolar_contour abgebildet wird.

Default: 100

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

Wertebereich: 0 ≤ RadiusEnd RadiusEnd RadiusEnd radiusEnd radius_end ≤ 32767

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

Breite des virtuellen Eingabebildes.

Default: 512

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

Wertebereich: 0 ≤ WidthIn WidthIn WidthIn widthIn width_in ≤ 32767

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

Höhe des virtuellen Eingabebildes.

Default: 512

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

Wertebereich: 0 ≤ HeightIn HeightIn HeightIn heightIn height_in ≤ 32767

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

Breite des virtuellen Zielbildes.

Default: 512

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

Wertebereich: 0 ≤ Width Width Width width width ≤ 32767

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

Höhe des virtuellen Zielbildes.

Default: 512

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

Wertebereich: 0 ≤ Height Height Height height height ≤ 32767

Siehe auch

polar_trans_image_extpolar_trans_image_extPolarTransImageExtPolarTransImageExtpolar_trans_image_ext, polar_trans_image_invpolar_trans_image_invPolarTransImageInvPolarTransImageInvpolar_trans_image_inv, polar_trans_regionpolar_trans_regionPolarTransRegionPolarTransRegionpolar_trans_region, polar_trans_region_invpolar_trans_region_invPolarTransRegionInvPolarTransRegionInvpolar_trans_region_inv, polar_trans_contour_xldpolar_trans_contour_xldPolarTransContourXldPolarTransContourXldpolar_trans_contour_xld

Modul

Foundation