Поворот изображения на заданный угол
Геометрические преобразования
visiongeotforms

Используйте блок «Поворот» для поворота изображения на угол, заданный в радианах.
Примечание
Этот блок поддерживает изображения интенсивности и цвета на своих портах.
| Порт | Описание |
|---|---|
Изображение | Матрица M-за-N значений интенсивности или цветной видеосигнал M-за-N-за-P, где P - количество цветовых плоскостей |
Угол | Угол поворота |
Продукция | Повернутая матрица |
Блок поворота использует алгоритм 3-х проходного сдвигового вращения для вычисления его значений, которые отличаются от алгоритма, используемого imrotate в Toolbox™ Обработка изображений.
На следующей диаграмме показаны типы данных, используемые в блоке Rotate для билинейной интерполяции сигналов с фиксированной точкой.

В маске блока можно задать значения углов, выходные данные продукта, накопителя и типы выходных данных.
Для блока «Поворот» требуются дополнительные типы данных. Значение таблицы Синус имеет ту же длину слова, что и тип данных угла, и длину дроби, которая равна его длине слова минус один. На следующей схеме показано, как эти типы данных используются внутри блока.

Примечание
При переполнении повернутое изображение может выглядеть искаженным.
Укажите размер повернутой матрицы. При выборе Expanded to fit rotated input imageблок выводит матрицу, которая содержит все повернутые значения изображения. При выборе Same as input imageблок выводит матрицу, которая содержит среднюю часть повернутого изображения. В результате края повернутого изображения могут быть обрезаны. Параметр «Значение заливки фона» используется для задания значений пикселов вне изображения.
Укажите способ ввода угла поворота. При выборе Specify via dialog, в диалоговом окне появится параметр Угол (радианы).
При выборе Input port, на блоке появится порт Angle. Блок использует вход в этот порт на каждом шаге времени в качестве угла поворота. Вход в порт Angle должен быть того же типа данных, что и вход в порт I.
Введите действительное скалярное значение угла поворота. Этот параметр отображается, если для параметра Источник угла поворота (Rotation angle source) выбран параметр Specify via dialog.
Когда угол поворота кратен pi/2, блок использует более эффективный алгоритм. Если значение угла, введенное для параметра Угол (радианы), находится в пределах 0,00001 радиана, кратного pi/2, блок округляет значение угла до кратного pi/2 перед выполнением поворота.
Введите максимальный угол поворота входного изображения. Введите скалярное значение между 0 и радиан. Блок определяет, какой угол, , требует наибольшей выходной матрицы, и соответственно задает размеры выходного порта.
Этот параметр отображается, если для параметра Размер вывода (Output size) задано значение Expanded to fit rotated input imageи параметр источника угла поворота дляInput port.
Укажите способ поворота изображения. При выборе Centerизображение поворачивается вокруг его центральной точки. При выборе Top-left cornerблок поворачивает изображение так, что два угла повернутого входного изображения всегда находятся в контакте с верхней и левой сторонами выходного изображения.
Этот параметр отображается, если для параметра «Размер вывода» выбран 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можно ввести длину слова в битах и наклон значений угла. Смещение всех сигналов в блоках 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.
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Дополнительные сведения см. в разделе fxptdlg (Fixed-Point Designer) - справочная страница инструмента Fixed-Point Tool в документации Simulink ®.
| Порт | Поддерживаемые типы данных |
|---|---|
Изображение |
|
Угол | То же, что и порт образа |
Продукция | То же, что и порт образа |
Если типом данных входного сигнала является плавающая точка, то выходной сигнал имеет тот же тип данных, что и входной сигнал.
[1] Вольберг, Джордж. Искажение цифрового изображения. Вашингтон: IEEE Computer Society Press, 1990.
Программное обеспечение Computer Vision Toolbox | |
Программное обеспечение Computer Vision Toolbox | |
Программное обеспечение Computer Vision Toolbox | |
Программное обеспечение панели инструментов обработки изображений |