KlassenKlassenKlassenKlassen | | | | Operatoren

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage (Operator)

Name

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage — Rotieren von Bildern um das Zentrum.

Signatur

rotate_image(Image : ImageRotate : Phi, Interpolation : )

Herror rotate_image(const Hobject Image, Hobject* ImageRotate, double Phi, const char* Interpolation)

Herror T_rotate_image(const Hobject Image, Hobject* ImageRotate, const Htuple Phi, const Htuple Interpolation)

Herror rotate_image(Hobject Image, Hobject* ImageRotate, const HTuple& Phi, const HTuple& Interpolation)

HImage HImage::RotateImage(const HTuple& Phi, const HTuple& Interpolation) const

HImageArray HImageArray::RotateImage(const HTuple& Phi, const HTuple& Interpolation) const

void RotateImage(const HObject& Image, HObject* ImageRotate, const HTuple& Phi, const HTuple& Interpolation)

HImage HImage::RotateImage(const HTuple& Phi, const HString& Interpolation) const

HImage HImage::RotateImage(double Phi, const HString& Interpolation) const

HImage HImage::RotateImage(double Phi, const char* Interpolation) const

void HOperatorSetX.RotateImage(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageRotate, [in] VARIANT Phi, [in] VARIANT Interpolation)

IHImageX* HImageX.RotateImage(
[in] VARIANT Phi, [in] BSTR Interpolation)

static void HOperatorSet.RotateImage(HObject image, out HObject imageRotate, HTuple phi, HTuple interpolation)

HImage HImage.RotateImage(HTuple phi, string interpolation)

HImage HImage.RotateImage(double phi, string interpolation)

Beschreibung

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage dreht das Bild ImageImageImageImageImageimage gegen den Uhrzeigersinn um PhiPhiPhiPhiPhiphi Grad um den Bildmittelpunkt und gibt das Ergebnis im Ausgabebild ImageRotateImageRotateImageRotateImageRotateImageRotateimageRotate 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 PhiPhiPhiPhiPhiphi ein Vielfaches von 90 Grad ist, ist dieser Operator viel schneller als der allgemeine Operator affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage. Der Parameter InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation entspricht der Wirkung bei affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage. Bei Rotationen um 90, 180 und 270 wird der Parameter ignoriert. Wenn es erforderlich ist, den Definitionsbereich ebenfalls mit zu rotieren, muss der Operator projective_trans_imageprojective_trans_imageProjectiveTransImageprojective_trans_imageProjectiveTransImageProjectiveTransImage genutzt werden.

Achtung

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 PhiPhiPhiPhiPhiphi wird in Grad und nicht im Bogenmaß angegeben. rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage wird für Rotationen um 90, 180 und 270 Grad nicht intern parallelisiert!

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage 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.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte* / int2* / uint2* / real*) *erlaubt für Compute Devices

Eingabebild.

ImageRotateImageRotateImageRotateImageRotateImageRotateimageRotate (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int2 / uint2 / real)

Rotiertes Ausgabebild.

PhiPhiPhiPhiPhiphi (input_control)  angle.deg HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Rotationswinkel.

Defaultwert: 90

Wertevorschläge: 90, 180, 270

Typischer Wertebereich: 0 ≤ Phi Phi Phi Phi Phi phi ≤ 360

Minimale Schrittweite: 0.001

Empfohlene Schrittweite: 0.2

InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der Interpolation.

Defaultwert: 'constant' "constant" "constant" "constant" "constant" "constant"

Werteliste: 'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'constant'"constant""constant""constant""constant""constant", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'weighted'"weighted""weighted""weighted""weighted""weighted"

Beispiel (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
rotate_image(Image,RotImage,270,'constant')
dev_display (RotImage)

Beispiel (C)

read_image(&Image,"monkey");
disp_image(Image,WindowHandle);
rotate_image(Image,&RotImage,270,'constant');
disp_image(RotImage,WindowHandle);

Beispiel (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
rotate_image(Image,RotImage,270,'constant')
dev_display (RotImage)

Beispiel (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
rotate_image(Image,RotImage,270,'constant')
dev_display (RotImage)

Beispiel (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
rotate_image(Image,RotImage,270,'constant')
dev_display (RotImage)

Beispiel (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
rotate_image(Image,RotImage,270,'constant')
dev_display (RotImage)

Alternativen

hom_mat2d_rotatehom_mat2d_rotateHomMat2dRotatehom_mat2d_rotateHomMat2dRotateHomMat2dRotate, affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage

Siehe auch

mirror_imagemirror_imageMirrorImagemirror_imageMirrorImageMirrorImage

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren