Вращайте изображение заданным углом
Геометрические преобразования
visiongeotforms
Используйте блок Rotate, чтобы вращать изображение углом, заданным в радианах.
Примечание
Этот блок поддерживает интенсивность и цветные изображения на ее портах.
Порт | Описание |
---|---|
Изображение | Матрица m на n значений интенсивности или M N P окрашивает видеосигнал, где P является количеством цветных плоскостей |
\angle | Угол поворота |
Вывод | Вращаемая матрица |
Блок Rotate использует алгоритм вращения сдвига с 3 передачами, чтобы вычислить его значения, который отличается, чем алгоритм, используемый imrotate
функция в Image Processing Toolbox™.
Следующая схема показывает типы данных, используемые в блоке Rotate для билинейной интерполяции сигналов фиксированной точки.
Можно установить угловые значения, продукт выход, аккумулятор и типы выходных данных в маске блока.
Блок Rotate требует дополнительных типов данных. Табличное значение Синуса имеет тот же размер слова как угловой тип данных и дробная длина, которая равна ее размеру слова минус один. Следующая схема показывает, как эти типы данных используются в блоке.
Примечание
Если переполнение происходит, вращаемое изображение может казаться искаженным.
Задайте размер вращаемой матрицы. Если вы выбираете Expanded to fit rotated input image
, блок выводит матрицу, которая содержит все вращаемые значения изображений. Если вы выбираете Same as input image
, блок выводит матрицу, которая содержит среднюю часть вращаемого изображения. В результате ребра вращаемого изображения могут быть обрезаны. Используйте параметр Background fill value, чтобы задать пиксельные значения вне изображения.
Задайте, как ввести ваш угол поворота. Если вы выбираете Specify via dialog
, параметр Angle (radians) появляется в диалоговом окне.
Если вы выбираете Input port
, порт Angle появляется на блоке. Блок использует вход для этого порта на каждом временном шаге как ваш угол поворота. Вход к порту Angle должен быть совпадающим типом данных как входом к порту I.
Введите действительное, скалярное значение для своего угла поворота. Этот параметр отображается, если для параметра Rotation angle source вы выбираете Specify via dialog
.
Когда угол поворота является кратным пи/2, блок использует более эффективный алгоритм. Если угловое значение, вы вводите для параметра Angle (radians), в 0,00001 радианах кратного пи/2, блок округляет угловое значение до пи/2 кратного прежде, чем выполнить вращение.
Введите максимальный угол, которым можно вращать входное изображение. Введите скалярное значение между 0
и радианы. Блок определяет который угол, , требует самой большой выходной матрицы и устанавливает размерности выходного порта соответственно.
Этот параметр отображается, если вы устанавливаете параметр Output size к Expanded to fit rotated input image
, и параметр Rotation angle source toInput port
.
Задайте, как изображение вращается. Если вы выбираете Center
, изображение вращается о его центральной точке. Если вы выбираете Top-left corner
, блок вращает изображение так, чтобы два угла вращаемого входного изображения всегда были в контакте с главными и левыми сторонами выходного изображения.
Этот параметр отображается, если для параметра Output size вы выбираете Expanded to fit rotated input image
, и для параметра Rotation angle source вы выбираете Input port
.
Задайте метод расчета значения. Если вы выбираете Trigonometric function
, блок вычисляет синус и значения косинуса, это должно вычислить вращение вашего изображения во время симуляции. Если вы выбираете Table lookup
, блок вычисляет и хранит тригонометрические значения, он должен вычислить вращение вашего изображения, прежде чем симуляция запустится. В этом случае блок требует дополнительной памяти.
Задайте значение для пикселей, которые находятся вне изображения.
Задайте который метод интерполяции использование блока, чтобы перевести изображение. Если вы выбираете Nearest neighbor
, блок использует значение одного соседнего пикселя для нового пиксельного значения. Если вы выбираете Bilinear
, новое пиксельное значение является взвешенным средним четырех самых близких пиксельных значений. Если вы выбираете Bicubic
, новое пиксельное значение является взвешенным средним шестнадцати самых близких пиксельных значений.
Количество пикселей, которые рассматривает блок, влияет на сложность расчета. Поэтому Nearest-neighbor
интерполяция наиболее в вычислительном отношении эффективна. Однако, потому что точность метода пропорциональна количеству рассмотренных пикселей, Bicubic
метод является самым точным.
Выберите округляющийся режим для операций фиксированной точки.
Выберите режим переполнения для операций фиксированной точки.
Выберите, как задать размер слова и дробная продолжительность угловых значений.
Когда вы выбираете Same word length as input
, размер слова углового соответствия значений тот из входа с блоком. В этом режиме дробная продолжительность угловых значений автоматически установлена в двоичную точку, только масштабирующуюся, который предоставляет вам лучшую точность, возможную, учитывая значение и размер слова угловых значений.
Когда вы выбираете Specify word length
, можно ввести размер слова угловых значений в битах. Блок автоматически устанавливает дробную длину давать вам лучшую точность.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробная продолжительность угловых значений в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне угловых значений. Смещение всех сигналов в блоках Computer Vision Toolbox™ 0.
Этот параметр только отображается, если для параметра Rotation angle source вы выбираете Specify via dialog
.
Как изображено на предыдущем рисунке, выход множителя помещается в тип выходных данных продукта и масштабирование. Используйте этот параметр, чтобы задать, как назвать этот продукт выходным словом и дробными длинами.
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из входа с блоком.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину продукта выход в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне продукта выход. Смещение всех сигналов в блоках Computer Vision Toolbox 0.
Как изображено на предыдущем рисунке, входные параметры к аккумулятору брошены к типу данных аккумулятора. Выход сумматора остается в типе данных аккумулятора, когда каждый элемент входа добавляется к нему. Используйте этот параметр, чтобы задать, как определять это слово аккумулятора и дробные длины.
Когда вы выбираете Same as product output
, эти характеристики совпадают с теми из продукта выход.
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа с блоком.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину аккумулятора в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне аккумулятора. Смещение всех сигналов в блоках Computer Vision Toolbox 0.
Выберите, как задать размер слова и дробная продолжительность выхода блока:
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа с блоком.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробная продолжительность выхода в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне выхода. Смещение всех сигналов в блоках Computer Vision Toolbox 0.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg
(Fixed-Point Designer), страница с описанием на Fixed-Point Tool в документации Simulink®.
Порт | Поддерживаемые типы данных |
---|---|
Изображение |
|
\angle | То же самое как порт Image |
Вывод | То же самое как порт Image |
Если тип данных входного сигнала является плавающей точкой, выходной сигнал является совпадающим типом данных как входным сигналом.
[1] Wolberg, Джордж. Деформирование цифрового изображения. Вашингтон: нажатие общества эпохи компьютеризации IEEE, 1990.