imrotate

Rotate image

Syntax

B = imrotate(A,angle)
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,bbox)
gpuarrayB = imrotate(gpuarrayA,___)

Description

B = imrotate(A,angle) rotates image A by angle degrees in a counterclockwise direction around its center point. To rotate the image clockwise, specify a negative value for angle. imrotate makes the output image B large enough to contain the entire rotated image. imrotate uses nearest neighbor interpolation, setting the values of pixels in B that are outside the rotated image to 0 (zero).

B = imrotate(A,angle,method) rotates image A, using the interpolation method specified by method. method is a text string that can have one of these values. The default value is enclosed in braces ({}).

Value

Description

{'nearest'}

Nearest-neighbor interpolation

'bilinear'

Bilinear interpolation

'bicubic'

Bicubic interpolation

    Note:   Bicubic interpolation can produce pixel values outside the original range.

B = imrotate(A,angle,method,bbox) rotates image A, where bbox specifies the size of the returned image. bbox is a text string that can have one of the following values. The default value is enclosed in braces ({}).

Value

Description

'crop'

Make output image B the same size as the input image A, cropping the rotated image to fit

{'loose'}

Make output image B large enough to contain the entire rotated image. B is generally larger than A.

gpuarrayB = imrotate(gpuarrayA,___) perform operation on a graphics processing unit (GPU), where gpuarrayA is a gpuArray object that contains a grayscale or binary image, and the output image is a gpuArray object. This syntax requires the Parallel Computing Toolbox™.

    Note:   The 'bicubic' interpolation mode used in the GPU implementation of this function differs from the default (CPU) bicubic mode. The GPU and CPU versions of this function are expected to give slightly different results.

Class Support

The input image can be numeric or logical, or a gpuArray. The output image is of the same class as the input image.

Examples

expand all

Rotate an Image to Bring it Into Horizontal Alignment

Read image data into the MATLAB® workspace.

I = fitsread('solarspectra.fts');

Convert the numeric data into an image.

I = mat2gray(I);

Rotate the image and display the original and the rotated image.

J = imrotate(I,-1,'bilinear','crop');
figure, imshow(I)
figure, imshow(J)

Rotate an image on the graphics processing unit (GPU)

Read image into a gpuArray object.

 X = gpuArray(imread('pout.tif'));

Rotate the image, performing the operation on the graphics processing unit (GPU).

Y = imrotate(X, 37, 'loose', 'bilinear');

Display the rotated image.

figure; imshow(Y)

More About

expand all

Tips

  • This function may take advantage of hardware optimization for data types uint8, uint16, and single to run faster.

Was this topic helpful?