ClassesClassesClassesClasses | | | | Operators

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage (Operator)

Name

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage — Rotate an image about its center.

Signature

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)

Description

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage rotates the ImageImageImageImageImageimage counterclockwise by PhiPhiPhiPhiPhiphi degrees about its center and stores the result in the output image ImageRotateImageRotateImageRotateImageRotateImageRotateimageRotate. The output image has the same size as the input image. The only exception are rotations by 90 and 270 degrees where width and height will be exchanged. The domain of the input image is ignored, i.e., assumed to be the full rectangle of the image. The domain of the output image is the intersection of the transformed rectangle and the rectangle of the ouput image.

If PhiPhiPhiPhiPhiphi is a multiple of 90 degrees, this operator is much faster, especially than the general operator affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage. The effect of the parameter InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation is the same as in affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage. It is ignored for rotations by 90, 180, and 270 degrees. If it is necessary to rotate the domain, too, the operator projective_trans_imageprojective_trans_imageProjectiveTransImageprojective_trans_imageProjectiveTransImageProjectiveTransImage has to be used.

Attention

The domain of the input image is ingnored, i.e., assumed to be the full rectangle of the image. The domain of the output image is the intersection of the transformed rectangle and the rectangle of the output image. The angle PhiPhiPhiPhiPhiphi is given in degrees, not in radians. For rotations by 90, 180, and 270 degrees rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage is not parallelized internally!

rotate_imagerotate_imageRotateImagerotate_imageRotateImageRotateImage can be executed on OpenCL devices if the input image does not exceed the maximum size of image objects of the selected device. Due to numerical reasons, there can be slight differences in the output compared to the execution on the CPU.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte* / int2* / uint2* / real*) *allowed for compute devices

Input image.

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

Rotated image.

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

Rotation angle.

Default value: 90

Suggested values: 90, 180, 270

Typical range of values: 0 ≤ Phi Phi Phi Phi Phi phi ≤ 360

Minimum increment: 0.001

Recommended increment: 0.2

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

Type of interpolation.

Default value: 'constant' "constant" "constant" "constant" "constant" "constant"

List of values: '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"

Example (HDevelop)

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

Example (C)

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

Example (HDevelop)

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

Example (HDevelop)

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

Example (HDevelop)

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

Example (HDevelop)

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

Alternatives

hom_mat2d_rotatehom_mat2d_rotateHomMat2dRotatehom_mat2d_rotateHomMat2dRotateHomMat2dRotate, affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage

See also

mirror_imagemirror_imageMirrorImagemirror_imageMirrorImageMirrorImage

Module

Foundation


ClassesClassesClassesClasses | | | | Operators