Сдвиньте строки или столбцы изображения путем линейного изменения смещения
Геометрические преобразования
visiongeotforms
Блок Shear смещает строки или столбцы изображения на постепенно увеличивающееся расстояние влево или вправо или вверх или вниз.
Примечание
Этот блок поддерживает интенсивность и цветные изображения на своих портах.
Порт | Ввод/вывод | Поддерживаемые типы данных | Комплексные числа |
---|---|---|---|
Изображение | Матрица M-на-N значений интенсивности или цветовой видеосигнал M-на-N-на-P, где P - количество цветовых плоскостей |
| Нет |
S | Двухэлементный вектор, который представляет количество пикселей, на которое вы хотите сдвинуть свои первую и последнюю строки или столбцы | То же, что и I порт | Нет |
Выход | Сдвинутое изображение | То же, что и I порт | Нет |
Если тип данных входов к I порту с плавающей точкой, входом к S порту этого блока должны быть совпадающие типы данных. Кроме того, выход блоков является совпадающим типом данных.
Используйте параметр Shear direction, чтобы указать, хотите ли вы сдвинуть строки или столбцы. Если вы выбираете Horizontal
первая строка имеет смещение, равное первому элементу вектора Row/column shear values [first last]. Следующие строки имеют смещение, которое линейно увеличивается до значения, которое вы вводите для последнего элемента вектора Row/column shear values [first last]. Если вы выбираете Vertical
первый столбец имеет смещение, равное первому элементу вектора Row/column shear values [first last]. Следующие столбцы имеют смещение, которое линейно увеличивается до значения, которое вы вводите для последнего элемента вектора Row/column shear values [first last].
Используйте параметр Output size after shear, чтобы задать размер срезанного изображения. Если вы выбираете Full
блок выводит матрицу, которая содержит все срезанное изображение. Если вы выбираете Same as input image
блок выводит матрицу того же размера, что и входное изображение, и содержит верхний левый фрагмент срезанного изображения. Используйте параметр Background fill value, чтобы задать пиксельные значения вне изображения.
Используйте параметр Shear values source, чтобы задать, как ввести параметры сдвига. Если вы выбираете Specify via dialog
параметр Row/column shear values [first last] появляется в диалоговом окне. Используйте этот параметр, чтобы ввести двухэлементный вектор, который представляет количество пикселей, на которое вы хотите сдвинуть свои первую и последнюю строки или столбцы. Для примера, если для параметра Shear direction вы выбираете Horizontal
и, для параметра Row/column shear values [first last], вы вводите [50 150]
блок перемещает верхний левый угол на 50 пикселей вправо и нижний левый угол входа изображения на 150 пикселей вправо. Если необходимо переместить любой угол влево, введите отрицательные значения. Если для параметра Shear direction вы выбираете Vertical
и, для параметра Row/column shear values [first last], вы вводите [-10 50]
блок перемещает верхний левый угол на 10 пикселей вверх и верхний правый угол на 50 пикселей вниз. Если необходимо переместить любой угол вниз, введите положительные значения.
Используйте параметр Interpolation method, чтобы указать, какой метод интерполяции используется блоком для сдвига изображения. Если вы выбираете Nearest neighbor
, блок использует значение ближайшего пикселя для нового значения пикселя. Если вы выбираете Bilinear
новое значение пикселя является взвешенным средним значением двух ближайших значений пикселя. Если вы выбираете Bicubic
новое значение пикселя является взвешенным средним значением четырех ближайших значений пикселя.
Количество пикселей, которое блок рассматривает, влияет на сложность расчетов. Поэтому интерполяция по ближайшему соседу является наиболее в вычислительном отношении эффективной. Однако, поскольку точность метода пропорциональна количеству рассматриваемых пикселей, бикубический метод является наиболее точным.
Если для параметра Shear values source выбран Input port
порт S появляется на блоке. На каждом временном шаге вход в порт S должен быть двухэлементным вектором, который представляет количество пикселей, на которое можно сдвинуть ваши первую и последнюю строки или столбцы.
Если для параметра Output size after shear выбран Full
, и для параметра Shear values source, вы выбираете Input port
параметр Maximum shear value появляется в диалоговом окне. Используйте этот параметр, чтобы ввести действительное, скалярное значение, которое представляет максимальное количество пикселей, на которое можно сдвинуть ваше изображение. Блок использует этот параметр, чтобы определить размер выходной матрицы. Если любой вход в порт S больше, чем абсолютное значение параметра Maximum shear value, блок достигает максимального значения.
Следующая схема показывает типы данных, используемые в блоке Shear для билинейной интерполяции сигналов с фиксированной точкой.
Можно задать выходы продукта, аккумулятор и типы выходных данных в маске блока.
Укажите, нужно ли сдвигать строки или столбцы входного изображения. Выберите Horizontal
для линейного увеличения смещения строк. Выберите Vertical
для неуклонного увеличения смещения столбцов.
Задайте размер срезанного изображения. Если вы выбираете Full
блок выводит матрицу, которая содержит значения срезанного изображения. Если вы выбираете Same as input image
блок выводит матрицу того же размера, что и входное изображение, и содержит фрагмент срезанного изображения.
Задайте, как ввести параметры сдвига. Если вы выбираете Specify via dialog
параметр Row/column shear values [first last] появляется в диалоговом окне. Если вы выбираете Input port
порт S появляется на блоке. Блок использует вход к этому порту на каждом временном шаге в качестве значения сдвига.
Введите двухэлементный вектор, который представляет количество пикселей, на которое можно сдвинуть ваши первую и последнюю строки или столбцы. Этот параметр видим, если для параметра Shear values source вы выбираете Specify via dialog
.
Введите действительное, скалярное значение, которое представляет максимальное количество пикселей, на которое можно сдвинуть ваше изображение. Этот параметр видим, если для параметра Shear values source вы выбираете Input port
.
Задайте значение для пикселей, которые находятся вне изображения. Этот параметр настраивается.
Укажите, какой метод интерполяции использует блок для перевода изображения. Если вы выбираете 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.
Этот параметр видим, если для параметра Shear values source вы выбираете Specify via dialog
.
Как показано на предыдущем рисунке, выход умножителя помещается в тип выходных данных продукта и масштабирование. Используйте этот параметр, чтобы задать, как обозначить это выходное слово продукта и длины дроби.
Когда вы выбираете Same as first input
эти характеристики совпадают с характеристиками первого входа в блок в I порту.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби выходного продукта, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон продукта выхода. Смещение всех сигналов в блоках Computer Vision Toolbox равно 0.
Как показано на предыдущем рисунке, входы в аккумулятор приводятся к типу данных аккумулятора. Выход сумматора остается в типе данных аккумулятора, когда к нему добавляется каждый элемент входа. Используйте этот параметр, чтобы задать, как обозначить это слово аккумулятора и длины дроби.
Когда вы выбираете Same as product output
, эти характеристики совпадают с характеристиками выходных данных продукта.
Когда вы выбираете Same as first input
эти характеристики совпадают с характеристиками первого входа в блок в I порту.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби аккумулятора, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон аккумулятора. Смещение всех сигналов в блоках Computer Vision Toolbox равно 0.
Выберите, как задать размер слова и длину дроби выхода блока:
Когда вы выбираете Same as first input
эти характеристики совпадают с характеристиками первого входа в блок в I порту.
Когда вы выбираете 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.