rotate_image
— Rotieren von Bildern um das Zentrum.
rotate_image(Image : ImageRotate : Phi, Interpolation : )
rotate_image
dreht das Bild Image
gegen den
Uhrzeigersinn um Phi
Grad um den Bildmittelpunkt und gibt
das Ergebnis im Ausgabebild ImageRotate
zurück. Das
Ausgabebild hat die gleiche Größe wie das Eingabebild. Die einzigen
Ausnahmen sind Drehungen um 90 und 270 Grad, wo Breite und Höhe
vertauscht werden. Der Definitionsbereich des Eingabebildes wird
ignoriert, d.h., als das volle Rechteck des Bildes angenommen. Der
Definitionsbereich des Ausgabebildes entspricht der Überschneidung
des transformierten Rechtecks und des Rechtecks des Ausgabebildes.
Falls Phi
ein Vielfaches von 90 Grad ist, ist dieser
Operator viel schneller als der allgemeine Operator
affine_trans_image
. Der Parameter Interpolation
entspricht der Wirkung bei affine_trans_image
. Bei
Rotationen um 90, 180 und 270 Grad wird der Parameter ignoriert. Wenn es
erforderlich ist, den Definitionsbereich ebenfalls mit zu rotieren,
muss der Operator projective_trans_image
genutzt werden.
Für Bilder vom Typ 'byte' , 'int2' oder 'uint2' kann
mittels des Systemparameters 'int_zooming' (siehe
set_system
) zwischen schneller Berechnung in Festkommaarithmetik
('int_zooming' = 'true' ) und hochgenauer Berechung in
Fließkommaarithmetik ('int_zooming' = 'false' ) gewählt
werden. Mit Ausnahme der Rotationen um 90, 180 oder 270 Grad kann es bei
der Festkommaberechnung zu leichten Grauwertabweichungen kommen.
Auch die Domäne der Ergebnisbilder kann sich in diesem Fall leicht
unterscheiden.
Der Definitionsbereich des Eingabebildes wird ignoriert, d.h., als
das volle Rechteck des Bildes angenommen. Der Definitionsbereich des
Ausgabebildes entspricht der Überschneidung des transformierten
Rechtecks und des Rechtecks des Ausgabebildes. Der Winkel
Phi
wird in Grad und nicht im Bogenmaß angegeben.
rotate_image
wird für Rotationen um 90, 180 und 270 Grad
nicht intern parallelisiert!
rotate_image
kann auf OpenCL Geräten ausgeführt werden, wenn
das Eingangsbild die maximale Größe für Bildobjekte des ausgewählten
Gerätes nicht überschreitet. Aus numerischen Gründen kann es dabei
zu geringfügigen Abweichungen des Ergebnisses gegenüber der
Ausführung auf der CPU kommen.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / int2* / uint2* / real*) *erlaubt für Compute Devices
Eingabebild.
ImageRotate
(output_object) (multichannel-)image(-array) →
object (byte / int2 / uint2 / real)
Rotiertes Ausgabebild.
Phi
(input_control) angle.deg →
(real / integer)
Rotationswinkel.
Defaultwert: 90
Wertevorschläge: 90, 180, 270
Typischer Wertebereich: 0
≤
Phi
≤
360
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 0.2
Interpolation
(input_control) string →
(string)
Art der Interpolation.
Defaultwert: 'constant'
Werteliste: 'bicubic' , 'bilinear' , 'constant' , 'nearest_neighbor' , 'weighted'
read_image(Image,'monkey') dev_display (Image) rotate_image(Image,RotImage,270,'constant') dev_display (RotImage)
hom_mat2d_rotate
,
affine_trans_image
Foundation