Вид с высоты птичьего полета

Преобразуйте обращенное к передней стороне изображение камеры в нисходящее представление

  • Библиотека:
  • Vision HDL Toolbox / Геометрические преобразования

Описание

Блок Birds-Eye View деформирует обращенное к передней стороне изображение камеры в нисходящее представление. Это использует эффективную оборудованием архитектуру, которая поддерживает генерацию HDL-кода.

Необходимо обеспечить матрицу homography, которая описывает преобразование. Эта матрица может быть вычислена от физических свойств камеры, или опытным путем выведена путем анализа изображения шаблона сетки, взятого камерой. Блок использует матрицу, чтобы вычислить преобразованные координаты каждого пикселя. Преобразование не интерполирует между пиксельными местоположениями. Вместо этого это округляет результат к самой близкой координате.

Блок работает с трапециевидной областью входного изображения ниже предела. Эти изображения показывают входную область, выбранную для преобразования и получившегося нисходящего представления.

Можно задать количество строк в преобразованной области и размере выходного кадра. Если заданная матрица homography не может сопоставить от требуемого количества строк к требуемому выходному размеру, блок возвращает предупреждение.

Поскольку блок реплицирует строки из входной области, чтобы создать больший выходной кадр, это не может завершить преобразование одного кадра, прежде чем следующий кадр прибудет. Блок игнорирует любые новые входные кадры, в то время как он все еще преобразовывает предыдущий кадр. Поэтому в зависимости от сохраненных строк и выходного размера, блок может пропустить входные кадры. Эта синхронизация также позволяет блоку поддержать интервалы гашения потока входного пикселя.

Порты

Этот блок использует пиксельный интерфейс потоковой передачи с шиной для сигналов управления кадром. Этот интерфейс позволяет блоку действовать независимо от размера изображения и формата. Все блоки Vision HDL Toolbox™ используют тот же интерфейс потоковой передачи. Блок принимает и возвращает и скалярное пиксельное значение и шину, содержащую пять управляющих сигналов. Управляющие сигналы указывают на валидность каждого пикселя и его местоположения в кадре. Чтобы преобразовать кадр (пиксельная матрица) в последовательный пиксельный поток и управляющие сигналы, используйте блок Frame To Pixels. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.

Входной параметр

развернуть все

Один пиксель изображения в пиксельном потоке, заданном как интенсивность представления скалярного значения.

double и типы данных single поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fixed point | Boolean | double | single

Управляющие сигналы, сопровождающие пиксельный поток, заданный как шина pixelcontrol, содержащая пять сигналов. Сигналы описывают валидность пикселя и его местоположения в кадре. Для получения дополнительной информации смотрите Пиксельную Шину управления.

Типы данных: bus

Вывод

развернуть все

Один пиксель изображения в пиксельном потоке, возвращенном как интенсивность представления скалярного значения. Тип данных выходного пикселя совпадает с типом данных входных пикселей.

double и типы данных single поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fixed point | Boolean | double | single

Управляющие сигналы, сопровождающие пиксельный поток, возвращенный как шина pixelcontrol, содержащая пять сигналов. Сигналы описывают валидность пикселя и его местоположения в кадре. Для получения дополнительной информации смотрите Пиксельную Шину управления.

Типы данных: bus

Параметры

развернуть все

Передаточная функция выведена от параметров камеры, заданных как 3х3 матрица.

Матрица homography, h, выведена от четырех внутренних параметров физической настройки камеры: фокусное расстояние, подача, высота и основная точка (из модели камеры с точечной диафрагмой). Значение по умолчанию является матрицей для настройки камеры, используемой в примере Обнаружения Маршрута.

Эта матрица может быть вычислена от физических свойств камеры, или опытным путем выведена путем анализа изображения тестового шаблона сетки, взятого камерой. Смотрите estimateGeometricTransform или Одно Приложение Camera Calibrator (Computer Vision Toolbox).

Количество входных пикселей, чтобы буферизовать, заданный как целое число. Вычислите это значение из Number of input lines to buffer *ActivePixelsPerLine. Блок использует память об этом размере, чтобы сохранить входные пиксели. Если вы задаете значение, которое не является степенью двойки, блок использует следующую самую большую степень двойки.

Количество строк, чтобы преобразовать, заданный как целое число. Блок хранит и преобразовывает это количество строк в выходное изображение вида с высоты птичьего полета, запускающееся на пределе, как определено Homography matrix.

Хранение полного входного кадра использует слишком много памяти, чтобы реализовать алгоритм без устройства хранения данных вне кристалла. Поэтому для аппаратной реализации, выберите меньшую область, чтобы сохранить и преобразовать, та, которая генерирует приемлемый выходной формат кадра.

Например, с помощью Homography matrix по умолчанию с входным изображением 640 480 пикселей, полноразмерные преобразовывают результаты в 900 640 выходное изображение. Анализ входа к выводу x - координатное отображение показывает, что приблизительно 50 строк входного изображения требуются, чтобы генерировать лучшие 700 строк выходного изображения вида с высоты птичьего полета. Это количество входных строк может храниться с помощью памяти на чипе. Предел для настройки камеры по умолчанию вокруг строки 200, и строки выше той точки не способствуют получившемуся виду с высоты птичьего полета. Поэтому блок может сохранить только входные строки 200–250 для преобразования.

Горизонтальный размер выходного кадра, заданного как целое число. Этот параметр является количеством активных пикселей в каждой выходной строке.

Вертикальный размер выходного кадра, заданного как целое число. Этот параметр является количеством активных строк в каждом выходном кадре.

Алгоритмы

Преобразование от координаты входного пикселя (x,y) к видимой с большого расстояния пиксельной координате выведено из матрицы homography, h. Матрица homography основана на физических параметрах и поэтому является константой для конкретной установки камеры.

(x^,y^)=round(h11x+h12y+h13h31x+h32y+h33,h21x+h22y+h23h31x+h32y+h33)

Реализация видимого с большого расстояния преобразования в оборудовании непосредственно не выполняет это вычисление. Вместо этого блок предварительно вычисляет интерполяционные таблицы для горизонтальных и вертикальных аспектов преобразования.

Во-первых, блок хранит входные строки, начинающие с предварительно вычисленного предела. Сохраненные пиксели формируют трапецоид с короткими строками около предела и более широкими строками около камеры. Это устройство хранения данных использует ячейки памяти Maximum buffer size, in pixels.

Горизонтальная интерполяционная таблица содержит параметры интерполяции, которые описывают фрагмент каждой строки трапециевидной входной области к требуемой ширине выходного кадра. Строки, которые падают ближе на предел, расширяются больше, чем строки ближе к камере.

Вертикальная интерполяционная таблица содержит y - координатное отображение, и сколько раз каждая строка повторяется, чтобы заполнить требуемую высоту выходного кадра. Около предела, входной контурной карты ко многим выходным строкам, в то время как каждая строка ближе камера сопоставляет с уменьшающимся количеством выходных строк.

Интерполяционные таблицы используют 3*Number of input lines to buffer ячейки памяти.

Расширенные возможности

Смотрите также

Блоки

Системные объекты

Функции

Темы

Введенный в R2017b