Вращайте изображение заданным углом
Геометрические преобразования
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
метод является самым точным. Для получения дополнительной информации смотрите Самого близкого Соседа, Билинейного, и Методы Бикубической интерполяции в Руководстве пользователя Computer Vision Toolbox™.
Выберите округляющийся режим для операций фиксированной точки.
Выберите режим переполнения для операций фиксированной точки.
Выберите, как задать размер слова и дробная продолжительность угловых значений.
Когда вы выбираете 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 Tool в документации Simulink®.
Порт | Поддерживаемые типы данных |
---|---|
Изображение |
|
\angle | То же самое как порт Image |
Вывод | То же самое как порт Image |
Если тип данных входного сигнала является плавающей точкой, выходной сигнал является совпадающим типом данных как входным сигналом.
[1] Wolberg, Джордж. Деформирование цифрового изображения. Вашингтон: нажатие общества эпохи компьютеризации IEEE, 1990.