imrotate

Вращайте изображение

Синтаксис

J = imrotate(I,angle)
J = imrotate(I,angle,method)
J = imrotate(I,angle,method,bbox)

Описание

пример

J = imrotate(I,angle) вращается отображают I степенями angle в области направления против часовой стрелки вокруг его центральной точки. Чтобы вращать изображение по часовой стрелке, задайте отрицательную величину для angle. imrotate делает выходное изображение J достаточно большой, чтобы содержать целое вращаемое изображение. imrotate использует самую близкую соседнюю интерполяцию, устанавливая значения пикселей в J, которые являются вне вращаемого изображения к 0 (нуль).

Опционально можно выполнить вращение с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

пример

J = imrotate(I,angle,method) вращается отображают I, с помощью метода интерполяции, заданного method.

Примечание

Метод интерполяции 'bicubic' может дать немного отличающиеся результаты на графическом процессоре и центральном процессоре.

пример

J = imrotate(I,angle,method,bbox) вращается отображают I, где bbox задает размер выходного изображения. Если вы задаете 'crop', то imrotate делает выходное изображение тем же размером как входное изображение. Если вы задаете 'loose', то imrotate делает выходное изображение достаточно большим, чтобы включать полноту вращаемого изображения.

Примеры

свернуть все

Считайте изображение в рабочую область и преобразуйте ее в полутоновое изображение.

I = fitsread('solarspectra.fts');
I = rescale(I);

Отобразите оригинальное изображение.

figure
imshow(I)
title('Original Image')

Вращайте изображение 1 степень по часовой стрелке, чтобы принести его в лучшее выравнивание по горизонтали. Пример задал билинейную интерполяцию и запрашивает, чтобы результат был обрезан, чтобы быть одного размера как оригинальное изображение.

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

Отобразите вращаемое изображение.

figure
imshow(J)
title('Rotated Image')

Считайте изображение в объект gpuArray.

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

Вращайте изображение, выполняя операцию на графическом процессоре (GPU).

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

Отобразите вращаемое изображение.

figure; imshow(Y)

Входные параметры

свернуть все

Отобразите, чтобы вращаться, задаваться как числовой или логический массив.

Чтобы выполнить вычисление с помощью графического процессора, задайте I как gpuArray, который содержит числовой или логический массив.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Объем вращения в градусах, заданный в виде числа.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Метод интерполяции, заданный как одно из следующих значений:

Значение

Описание

'nearest'

Самая близкая соседняя интерполяция; выходной пиксель присвоен значение пикселя, которого находится в пределах точка. Никакие другие пиксели не рассматриваются.

'bilinear'

Билинейная интерполяция; значение выходного пикселя является взвешенным средним пикселей в самом близком окружении 2 на 2

'bicubic'

Бикубическая интерполяция; значение выходного пикселя является взвешенным средним пикселей в самом близком окружении 4 на 4

Примечание

Бикубическая интерполяция может произвести пиксельные значения вне исходной области значений.

Типы данных: char | string

Ограничительная рамка, которая задает размер выходного изображения, заданного как любое из следующих значений:

Значение

Описание

'crop'

Сделайте выходное изображение J тот же размер как входное изображение I, обрезав вращаемое изображение, чтобы соответствовать.

'loose'

Сделайте выходное изображение J достаточно большой, чтобы содержать целое вращаемое изображение. J больше, чем I.

Типы данных: char | string

Выходные аргументы

свернуть все

Вращаемое изображение, возвращенное как числовой или логический массив.

Если изображение вращается с помощью графического процессора, то J возвращен как gpuArray, содержащий числовой или логический массив.

Советы

  • Эта функция изменяется в версии 9.3 (R2015b). Предыдущие версии Image Processing Toolbox™ используют различные пространственные соглашения. Если вам нужны те же результаты, приведенные предыдущей реализацией, используйте функциональный imrotate_old.

  • В некоторых случаях эта функция использует в своих интересах аппаратную оптимизацию для типов данных uint8, uint16, single и double, чтобы запуститься быстрее.

Расширенные возможности

Смотрите также

| | | |

Представлено до R2006a