Примените проективное или аффинное преобразование
Computer Vision Toolbox / Геометрические преобразования
Блок Warp преобразовывает изображение путем применения проективного или аффинного преобразования. Можно преобразовать целое изображение или область изображения путем определения прямоугольной видимой области (ROI).
Image
— Введите изображениеВведите изображение в виде одного из этих значений:
матрица — Для изображений интенсивности размера M-by-N.
3-D числовой массив — Для изображений истинного цвета размера M-by-N-by-3.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TForm
— Матрица преобразованияМатрица преобразования в виде любого из этих значений:
3-на-2 матрица — Для аффинного преобразования.
3х3 матрица — Для проективного преобразования.
Для получения дополнительной информации о преобразованиях, см. Алгоритмы.
Чтобы включить этот входной порт, установите значение параметров Transformation matrix source на Input port
.
Типы данных: double |
single
ROI
— Необходимая областьНеобходимая область в виде вектора с 4 элементами из формы [xs ys width height]. xs и ys является x и координаты y левого верхнего угла ROI, соответственно.
Если вы задаете ROI
введите, Warp
блок применяет преобразование только к заданной области и возвращает преобразованную область при выходе.
Чтобы включить этот входной порт, выберите параметр Enable ROI input port.
Image
— Преобразованное изображениеПреобразованное изображение, возвращенное как одно из этих значений:
матрица — Если введенный изображение интенсивности размера P-by-Q1.
3-D числовой массив — Если введенный изображение истинного цвета размера P-by-Q-by-3.
Тип данных выходного преобразованного изображения - то же самое как то из входного изображения. Размер выходного преобразованного изображения - или то же самое как входное изображение или равный набору значений для параметра Output image position vector [x y width height].
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Err_roi
— Индикатор для преобразованного ROI вне отображает область
| 1
Индикатор для преобразованного ROI вне отображает область, возвращенную как 0
или 1
.
Типы данных: Boolean
Transformation matrix for source
— Источник для передачи матрицы преобразованияInput port
(значение по умолчанию) | Custom
Источник для передачи матрицы преобразования в виде любого Input port
или Custom
. Если вы выбираете Custom
, можно ввести коэффициенты матрицы преобразования при помощи параметра Transformation matrix, который появляется с этим выбором.
Transformation matrix
— Значение для матрицы преобразованияЗначение для матрицы преобразования в виде 3-на-2 матрицы для аффинного преобразования или 3х3 матрицы для проективного преобразования.
Чтобы включить этот параметр, установите значение параметров Transformation matrix for source на Custom
.
Interpolation method
— Метод для интерполяции преобразованных пиксельных значенийBilinear
(значение по умолчанию) | Nearest neighbor
| Bicubic
Метод для интерполяции преобразованных пиксельных значений в виде Nearest neighbor
, Bilinear
, или Bicubic
.
Если вы выбираете Nearest neighbor
, блок использует значение соседнего пикселя для нового пиксельного значения. Если вы выбираете Bilinear
, новое пиксельное значение является взвешенным средним четырех самых близких пиксельных значений. Если вы выбираете Bicubic
, новое пиксельное значение является взвешенным средним шестнадцати самых близких пиксельных значений.
Количество пикселей, которые рассматривает блок, влияет на сложность расчета. Поэтому Nearest neighbor
интерполяция наиболее в вычислительном отношении эффективна. Однако, потому что точность метода пропорциональна количеству рассмотренных пикселей, Bicubic
метод является самым точным. Для получения информации о методах интерполяции смотрите раздел More About.
Background fill value
— Значение интенсивности для фоновых пикселей в преобразованном изображении
(значение по умолчанию) | скаляр | вектор с 3 элементамиЗначение интенсивности для фоновых пикселей в преобразованном изображении в виде одного из этих значений:
скаляр — Если введенное изображение является полутоновым изображением.
Вектор с 3 элементами — Если введенное изображение является изображением истинного цвета. Вектор имеет форму [r g b], задающий красный (r), зеленый (g), и синий (b) значения цветового канала для фоновых пикселей.
Значением заливки по умолчанию является 0
и выбирает цвет фона к черному цвету.
Output image position source
— Источник для передающего размера выходного изображенияSame as input image
(значение по умолчанию) | Custom
Источник для передачи значения для размера выходного изображения в виде любого Same as input image
или Custom
.
Если вы выбираете Same as input image
, выходное преобразованное изображение имеет тот же размер как то из входного изображения.
Если вы выбираете Custom
, необходимо задать ограничительную рамку, чтобы вывести только область изображений, которая находится в ограничительной рамке. Этот выбор включает параметр Output image position vector [x y width height], который можно использовать для определения значения ограничительной рамки.
Output image position vector [x y width height]
— Размер выходного изображения
1
512
512
] (значение по умолчанию) | вектор с 4 элементамиРазмер выходного изображения в виде четырех векторов элемента из формы [x
y
width
height]. Когда вы задаете этот параметр, Warp
блок создает ограничительную рамку заданных значений ширины и высоты. Размер выходного изображения установлен в размер ограничительной рамки и будет содержать область преобразованного изображения, которая находится в ограничительной рамке. Если размер выходного изображения больше размера области преобразованного изображения в ограничительной рамке, значение интенсивности посторонних пикселей в выходном изображении установлены в значение, заданное для параметра Background fill value.
x и y являются пространственными координатами, которые задают верхнее левое угловое положение ограничительной рамки относительно входного изображения.
Чтобы включить этот параметр, установите значение параметров Output image position source на Custom
.
Enable ROI input port
— Введите ROIВыберите этот параметр, чтобы включить ROI
входной порт и задает ROI, который будет преобразован.
Enable output port indicating if any part of ROI is outside input image
— Выведите, если преобразованный ROI находится вне заданного размера изображенияВыберите этот параметр, чтобы включить Err_roi
выходной порт.
Чтобы включить этот параметр, выберите параметр Enable ROI input port.
Simulate using
— Блокируйте метод симуляцииInterpreted Execution
(значение по умолчанию) | Code Generation
Блокируйте метод симуляции в виде Interpreted Execution
или Code Generation
. Если вы хотите, чтобы ваш блок использовал MATLAB® интерпретатор, выберите Interpreted Execution
. Если вы хотите, чтобы ваш блок запустился как скомпилированный код, выбрал Code Generation
. Для получения дополнительной информации смотрите Выбор Simulation Mode (Simulink).
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Для интерполяции по ближайшему соседу используются значение ближайших соседних переведенных пиксельных значений для значений выходного пикселя.
Например, предположите эту матрицу,
представляет ваше входное изображение. Вы хотите переместить это изображение на 1,7 пикселя в положительном горизонтальном направлении с помощью самой близкой соседней интерполяции. Самый близкий соседний алгоритм интерполяции блока проиллюстрирован следующими шагами:
Нуль заполняет входную матрицу и переводит ее на 1,7 пикселя направо.
Создайте выходную матрицу, заменив каждое значение входного пикселя на переведенное значение, самое близкое к нему. Результатом является следующая матрица:
Примечание
Вы хотели перевести изображение на 1,7 пикселя, но этот метод перевел изображение на 2 пикселя. Самая близкая соседняя интерполяция в вычислительном отношении эффективна, но не так точна как билинейная или методы бикубической интерполяции.
Для билинейной интерполяции блок использует взвешенное среднее двух переведенных пиксельных значений для каждого значения выходного пикселя.
Например, предположите эту матрицу,
представляет ваше входное изображение. Вы хотите перевести это изображение 0,5 пикселя в положительном горизонтальном направлении с помощью билинейной интерполяции. Алгоритм билинейной интерполяции блока проиллюстрирован следующими шагами:
Нуль заполняет входную матрицу и переводит ее на 0,5 пикселя направо.
Создайте выходную матрицу, заменив каждое значение входного пикселя на взвешенное среднее переведенных значений с обеих сторон. Результатом является следующая матрица, где выходная матрица имеет еще один столбец, чем входная матрица:
Для бикубической интерполяции блок использует взвешенное среднее четырех переведенных пиксельных значений для каждого значения выходного пикселя.
Например, предположите эту матрицу,
представляет ваше входное изображение. Вы хотите перевести это изображение 0,5 пикселя в положительном горизонтальном направлении с помощью бикубической интерполяции. Алгоритм бикубической интерполяции блока проиллюстрирован следующими шагами:
Нуль заполняет входную матрицу и переводит ее на 0,5 пикселя направо.
Создайте выходную матрицу, заменив каждое значение входного пикселя на взвешенное среднее двух переведенных значений с обеих сторон. Результатом является следующая матрица, где выходная матрица имеет еще один столбец, чем входная матрица:
Матрица аффинного преобразования является 3-на-2 матрицей формы
где h 1, h 2..., h 6 является коэффициентами преобразования.
Значение пикселя, расположенного в во входе изображение определяет значение пикселя, расположенного в в выходном преобразованном изображении. Отношение между местоположениями точки ввода и вывода задано:
Проективная матрица преобразования является 3х3 матрицей формы
где h 1, h 2..., h 9 является коэффициентами преобразования.
Значение пикселя, расположенного в во входе изображение определяет значение пикселя, расположенного в в выходном преобразованном изображении.
Отношение между местоположениями точки ввода и вывода задано:
Значения пикселей в местоположениях выходной точки вычисляются с помощью любого из этих методов интерполяции: Самый близкий сосед, билинейный, и бикубическая интерполяция.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.