polar_trans_contour_xld_inv
— Rücktransformieren einer Kontur in Polarkoordinaten
polar_trans_contour_xld_inv(PolarContour : XYTransContour : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn, Width, Height : )
polar_trans_contour_xld_inv
transformiert die
Polarkoordinatendarstellung eines Kontur, gespeichert in
PolarContour
, zurück auf einen Kreisring in kartesischen
Koordinaten, der durch die Radien RadiusStart
und
RadiusEnd
sowie durch die Winkel AngleStart
und
AngleEnd
beschrieben ist und dessen Mittelpunkt in
(Row
, Column
) liegt. Alle diese Werte können frei
aus den reellen Zahlen gewählt werden. Die Gesamtgröße des
Ausgabebildes beträgt Width
x Height
Pixel. Zusätzlich müssen die Dimensionen des virtuellen
Eingabebildes, welches die Kontur PolarContour
enthält, in
WidthIn
und HeightIn
übergeben
werden. WidthIn
-1 ist die Spaltenkoordinate, die
AngleEnd
entspricht und HeightIn
-1 ist die
Zeilenkoordinate, die RadiusEnd
entspricht. AngleStart
bzw. RadiusStart
entspricht
der Spalten- bzw. Zeilenkoordinate 0. Außerdem müssen die
Dimensionen des virtuellen Ausgabebildes, welches die Region
XYTransContour
enthält, in Width
und
Height
übergeben werden. An dessen Rändern wird die
Ausgabekontur beschnitten.
polar_trans_contour_xld_inv
ist die exakte Umkehrfunktion zu
polar_trans_contour_xld
.
Die Aufrufsequenz:
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)
liefert in der Ausgabekontur XYTransCont
die Kontur
Image
eingeschränkt auf den Kreis um (Row
,
Column
) mit Radius Radius
zurück.
XYTransContour
kann aus mehreren Konturen bestehen, da die
Kontur PolarContour
an den Rändern des virtuellen
Ausgabebildes, das durch Width
und Height
definiert wird, beschnitten wird.
Werden mehrere Konturen in PolarContour
übergeben, werden
deren Transformationen individuell berechnet und als Tupel in
XYTransContour
abgespeichert. Da eine Kontur bei der
Transformation in mehrere Konturen geteilt werden kann, besteht kein
Zusammenhang zwischen den Indizes des Eingabetupels
PolarContour
und den Indizes des Ausgabetupels
XYTransContour
.
Ein Überblick zu den verschiedenen in HALCON verwendeten 2D Koordinatensystemen ist in der Einleitung zum Kapitel Transformationen / 2D-Transformationen gegeben.
Es werden nur die Konturpunkte transformiert. Da die
Polartransformation keine affine Abbildung ist, liefert der Operator
polar_trans_contour_xld_inv
nur dann brauchbare Ergebnisse,
wenn die Abstände der Konturpunkte klein sind. Eventuelle Attribute
werden nicht mittransformiert.
PolarContour
(input_object) xld_cont(-array) →
object
Eingabekontur.
XYTransContour
(output_object) xld_cont(-array) →
object
Ergebniskontur.
Row
(input_control) number →
(real / integer)
Zeilenkoordinate des Kreismittelpunktes.
Defaultwert: 256
Wertevorschläge: 0, 16, 32, 64, 128, 240, 256, 480, 512
Typischer Wertebereich: 0
≤
Row
≤
32767
Restriktion: Row >= -131068 && Row <= 131068
Column
(input_control) number →
(real / integer)
Spaltenkoordinate des Kreismittelpunktes.
Defaultwert: 256
Wertevorschläge: 0, 16, 32, 64, 128, 256, 320, 512, 640
Typischer Wertebereich: 0
≤
Column
≤
32767
Restriktion: Column >= -131068 && Column <= 131068
AngleStart
(input_control) angle.rad →
(real)
Winkel, auf den die Spaltenkoordinate 0
von PolarContour
abgebildet wird.
Defaultwert: 0.0
Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853
Typischer Wertebereich: -6.2831853
≤
AngleStart
≤
6.2831853
AngleEnd
(input_control) angle.rad →
(real)
Winkel, auf den die Spaltenkoordinate WidthIn
-1 in PolarContour
abgebildet wird.
Defaultwert: 6.2831853
Wertevorschläge: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853
Typischer Wertebereich: -6.2831853
≤
AngleEnd
≤
6.2831853
RadiusStart
(input_control) number →
(real / integer)
Kreisradius, auf den die Zeilenkoordinate 0
in PolarContour
abgebildet wird.
Defaultwert: 0
Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512
Typischer Wertebereich: 0
≤
RadiusStart
≤
32767
RadiusEnd
(input_control) number →
(real / integer)
Kreisradius, auf den die Zeilenkoordinate
HeightIn
-1 in PolarContour
abgebildet wird.
Defaultwert: 100
Wertevorschläge: 0, 16, 32, 64, 100, 128, 256, 512
Typischer Wertebereich: 0
≤
RadiusEnd
≤
32767
WidthIn
(input_control) extent.x →
(integer)
Breite des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 0
≤
WidthIn
≤
32767
HeightIn
(input_control) extent.y →
(integer)
Höhe des virtuellen Eingabebildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 0
≤
HeightIn
≤
32767
Width
(input_control) extent.x →
(integer)
Breite des virtuellen Zielbildes.
Defaultwert: 512
Wertevorschläge: 256, 320, 512, 640, 800, 1024
Typischer Wertebereich: 0
≤
Width
≤
32767
Height
(input_control) extent.y →
(integer)
Höhe des virtuellen Zielbildes.
Defaultwert: 512
Wertevorschläge: 240, 256, 480, 512, 600, 1024
Typischer Wertebereich: 0
≤
Height
≤
32767
polar_trans_image_ext
,
polar_trans_image_inv
,
polar_trans_region
,
polar_trans_region_inv
,
polar_trans_contour_xld
Foundation