Перемещение изображения в 2-D плоскости с помощью вектора перемещения
Геометрические преобразования
visiongeotforms
Используйте блок Translate, чтобы переместить изображение в двумерной плоскости с помощью вектора перемещения, двухэлементного вектора, который представляет количество пикселей, на которое вы хотите переместить изображение. Блок выводит изображение, полученное в результате перевода.
Примечание
Этот блок поддерживает интенсивность и цветные изображения на своих портах.
Порт | Ввод/вывод | Поддерживаемые типы данных | Комплексные числа |
---|---|---|---|
Изображение/Вход | Матрица M-на-N значений интенсивности или цветовой видеосигнал M-на-N-на-P, где P - количество цветовых плоскостей |
| Нет |
Смещение | Вектор значений, которые представляют количество пикселей, на которое можно перевести изображение | То же, что и I порт | Нет |
Выход | Переведенное изображение | То же, что и I порт | Нет |
Значение входа к порту Смещения должно быть совпадающий тип данных как значение входа к порту Изображения. Этот выход является совпадающим типом данных как вход к порту Изображения.
Используйте параметр Output size after translation, чтобы задать размер переведенного изображения. Если вы выбираете Full
блок выводит матрицу, которая содержит все переведенное изображение. Если вы выбираете Same as input image
блок выводит матрицу того же размера, что и входное изображение, и содержит фрагмент переведенного изображения. Используйте параметр Background fill value, чтобы задать пиксельные значения вне изображения.
Используйте параметр Offset source, чтобы задать, как ввести вектор перемещения. Если вы выбираете Specify via dialog
параметр Offset появляется в диалоговом окне. Используйте его, чтобы ввести вектор перемещения, двухэлементный вектор, [r c]
, из вещественных, целочисленных значений, которые представляют количество пикселей, на которое вы хотите перевести ваше изображение. The r
значение представляет, сколько пикселей вверх или вниз, чтобы переместить ваше изображение. The c
значение представляет, сколько пикселей влево или вправо нужно сдвинуть изображение. Источник оси является верхним левым углом изображения. Для примера, если вы вводите [2.5 3.2]
блок перемещает изображение на 2,5 пикселя вниз и на 3,2 пикселя вправо от его исходного местоположения. Когда вектор переноса содержит дробные значения, блок использует интерполяцию, чтобы вычислить выход.
Используйте параметр Interpolation method, чтобы указать, какой метод интерполяции использует блок для перевода изображения. Если вы перемещаете изображение в горизонтальном или вертикальном направлении и выбираете Nearest neighbor
, блок использует значение ближайшего пикселя для нового значения пикселя. Если вы перемещаете изображение в горизонтальном или вертикальном направлении и выбираете Bilinear
новое значение пикселя является взвешенным средним значением четырех ближайших значений пикселя. Если вы перемещаете изображение в горизонтальном или вертикальном направлении и выбираете Bicubic
новое значение пикселя является взвешенным средним значением из шестнадцати ближайших значений пикселя.
Количество пикселей, которое блок рассматривает, влияет на сложность расчетов. Поэтому интерполяция по ближайшему соседу является наиболее в вычислительном отношении эффективной. Однако, поскольку точность метода примерно пропорциональна количеству рассматриваемых пикселей, бикубический метод является наиболее точным.
Если для параметра Output size after translation выбран Full
, и для параметра Offset source, вы выбираете Input port
параметр Maximum offset появляется в диалоговом окне. Используйте параметр Maximum offset, чтобы ввести двухэлементный вектор вещественных, скалярных значений, которые представляют максимальное количество пикселей, на которые вы хотите перевести ваше изображение. Блок использует этот параметр, чтобы определить размер выходной матрицы. Если вход в Смещение порт больше, чем Maximum offset значений параметров, блок достигает максимальных значений.
Если для параметра Offset source выбран Input port
Порт Offset появляется на блоке. На каждом временном шаге вход в порт Offset должен быть вектором действительных, скалярных значений, которые представляют количество пикселей, на которое можно перевести ваше изображение.
Следующая схема показывает типы данных, используемые в блоке Translate для билинейной интерполяции сигналов с фиксированной точкой.
Можно задать выходы продукта, аккумулятор и типы выходных данных в маске блока, как обсуждается в следующем разделе.
Если вы выбираете Full
блок выводит матрицу, которая содержит переведенные значения изображения. Если вы выбираете Same as input image
блок выводит матрицу того же размера, что и входное изображение, и содержит фрагмент переведенного изображения.
Задайте, как ввести параметры перевода. Если вы выбираете Specify via dialog
параметр Offset появляется в диалоговом окне. Если вы выбираете Input port
порт O появляется на блоке. Блок использует вход к этому порту на каждом временном шаге в качестве ваших значений перевода.
Введите вектор вещественных, скалярных значений, которые представляют количество пикселей, на которое можно перевести ваше изображение.
Задайте значение для пикселей, которые находятся вне изображения.
Укажите, какой метод интерполяции использует блок для перевода изображения. Если вы выбираете Nearest neighbor
, блок использует значение одного ближайшего пикселя для нового значения пикселя. Если вы выбираете Bilinear
новое значение пикселя является взвешенным средним значением четырех ближайших значений пикселя. Если вы выбираете Bicubic
новое значение пикселя является взвешенным средним значением из шестнадцати ближайших значений пикселя.
Количество пикселей, которое блок рассматривает, влияет на сложность расчетов. Поэтому Nearest-neighbor
интерполяция является наиболее в вычислительном отношении эффективной. Однако, поскольку точность метода пропорциональна количеству рассматриваемых пикселей, Bicubic
метод является наиболее точным.
Введите вектор вещественных, скалярных значений, которые представляют максимальное количество пикселей, на которые вы хотите переместить ваше изображение. Этот параметр должен иметь совпадающий тип данных, что и вход в порт Offset. Этот параметр видим, если для параметра Output size after translation вы выбираете Full
и, для параметра Offset source, вы выбираете Input port
.
Выберите режим округления для операций с фиксированной точкой.
Выберите режим переполнения для операций с фиксированной точкой.
Выберите, как задать размер слова и длину дроби значений смещения.
Когда вы выбираете Same word length as input
Размеры слова значений смещения совпадают с входом на блок. В этом режиме длина дроби значений смещения автоматически устанавливается на шкалу только с двоичной точкой, которая обеспечивает вам лучшую точность, учитывая значение и размер слова значений смещения.
Когда вы выбираете Specify word length
, можно ввести размер слова значений смещения, в битах. Блок автоматически устанавливает длину дроби, чтобы дать вам лучшую точность.
Когда вы выбираете Binary point scaling
можно ввести размер слова и длину дроби значений смещения в битах.
Когда вы выбираете Slope and bias scaling
можно ввести длину размера слова в битах и наклон значений смещения. Смещение всех сигналов в блоках Computer Vision Toolbox™ составляет 0.
Этот параметр видим, если для параметра Offset 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.