Accelerating the pace of engineering and science

# vision.GeometricRotator System object

Package: vision

Rotate image by specified angle

## Description

The GeometricRotator object rotates an image by a specified angle.

## Construction

H = vision.GeometricRotator returns a geometric rotator System object, H, that rotates an image by $\pi }{6}$ radians.

H = vision.GeometricRotator(Name,Value) returns a geometric rotator object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1, Value1,...,NameN,ValueN).

Code Generation Support
Supports MATLAB® Function block: Yes
Code Generation Support, Usage Notes, and Limitations

## Properties

 OutputSize Output size as full or same as input image size Specify the size of output image as one of Expanded to fit rotated input image | Same as input image. The default is Expanded to fit rotated input image. When you set this property to Expanded to fit rotated input image, the object outputs a matrix that contains all the rotated image values. When you set this property to Same as input image, the object outputs a matrix that contains the middle part of the rotated image. AngleSource Source of angle Specify how to specify the rotation angle as one of Property | Input port. The default is Property. Angle Rotation angle value (radians) Set this property to a real, scalar value for the rotation angle (radians). The default is pi/6. This property applies when you set the AngleSource property to Property. MaximumAngle Maximum angle by which to rotate image Specify the maximum angle by which to rotate the input image as a numeric scalar value greater than 0. The default is pi. This property applies when you set the AngleSource property to Input port. RotatedImageLocation How the image is rotated Specify how the image is rotated as one of Top-left corner | Center. The default is Center. When you set this property to Center, the object rotates the image about its center point. When you set this property to Top-left corner, the object rotates the image so that two corners of the input image are always in contact with the top and left side of the output image. This property applies when you set the OutputSize property to Expanded to fit rotated input image, and, the AngleSource property to Input port. SineComputation How to calculate the rotation Specify how to calculate the rotation as one of Trigonometric function | Table lookup. The default is Table lookup. When you set this property to Trigonometric function, the object computes the sine and cosine values it needs to calculate the rotation of the input image. When you set this property to Table lookup, the object computes the trigonometric values it needs to calculate the rotation of the input image, and stores them in a table. The object uses the table, each time it calls the step method. In this case, the object requires extra memory. BackgroundFillValue Value of pixels outside image Specify the value of pixels that are outside the image as a numeric scalar value or a numeric vector of same length as the third dimension of input image. The default is 0. This property is tunable. InterpolationMethod Interpolation method used to rotate image Specify the interpolation method used to rotate the image as one of Nearest neighbor | Bilinear | Bicubic. The default is Bilinear. When you set this property to Nearest neighbor, the object uses the value of one nearby pixel for the new pixel value. When you set this property to Bilinear, the object sets the new pixel value as the weighted average of the four nearest pixel values. When you set this property to Bicubic, the object sets the new pixel value as the weighted average of the sixteen nearest pixel values.

## Methods

 clone Create geometric rotator object with same property values getNumInputs Number of expected inputs to step method getNumOutputs Number of outputs from step method isLocked Locked status for input attributes and nontunable properties release Allow property value and input characteristics changes step Return rotated image

## Examples

Rotate an image 30 degrees ($\pi }{6}$ radians)

```img = im2double(imread('peppers.png'));
hrotate = vision.GeometricRotator;
hrotate.Angle = pi / 6;

% Rotate img by pi/6
rotimg = step(hrotate,img);
imshow(rotimg); ```

Rotate an image by multiple angles, specifying each rotation angle as an input. The angle can be changed during simulation.

```hrotate = vision.GeometricRotator;
hrotate.AngleSource = 'Input port';
figure;
% Rotate img by multiple angles
for i = 1: 4
rotimg = step(hrotate,img,i*pi/16);
subplot(1,4,i);
imshow(rotimg);
end```

## Algorithms

This object implements the algorithm, inputs, and outputs described on the Rotate block reference page. The object properties correspond to the block parameters.