exponenta event banner

Вид на птиц

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

  • Библиотека:
  • Панель инструментов Vision HDL/геометрические преобразования

  • Birds-Eye View block

Описание

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

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

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

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

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

Порты

Этот блок использует потоковый пиксельный интерфейс с pixelcontrol шина для сигналов управления кадрами. Этот интерфейс позволяет блоку работать независимо от размера и формата изображения. Все блоки Vision HDL Toolbox™ используют один и тот же потоковый интерфейс. Блок принимает и возвращает значение скалярного пикселя и шину, которая содержит пять управляющих сигналов. Сигналы управления указывают достоверность каждого пикселя и его местоположение в кадре. Чтобы преобразовать кадр (матрицу пикселей) в последовательный поток пикселей и управляющие сигналы, используйте блок «От кадра к пикселям». Полное описание интерфейса см. в разделе Потоковый пиксельный интерфейс.

Вход

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

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

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.

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

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

Число входных пикселов в буфере, указанное как целое число. Вычислите это значение из поля Количество входных строк в буфер * ActivePerPerLine. Блок использует память такого размера для хранения входных пикселей. Если указано значение, которое не является степенью два, блок использует следующую наибольшую степень два.

Число строк для преобразования, указанное как целое число. Блок сохраняет и преобразует это количество строк в выходное изображение с видом на птицу, начиная с точки исчезновения, определяемой матрицей гомографии.

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

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

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

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

Алгоритмы

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

(x ^, y ^) = круглый (h11x + h12y + h13h31x + h32y + h33, h21x + h22y + h23h31x + h32y + h33)

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

Сначала блок сохраняет входные строки, начиная с предварительно вычисленной точки схода. Сохраненные пиксели образуют трапецию с короткими линиями вблизи точки исчезновения и более широкими линиями около камеры. В этом хранилище используется максимальный размер буфера (в пикселах).

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

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

Таблицы подстановки используют 3 * количество входных строк для буферизации ячеек памяти.

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

.

См. также

Блоки

Объекты

Функции

  • (Панель инструментов компьютерного зрения) | (Панель инструментов обработки изображений)

Темы

Представлен в R2017b