Преобразуйте изображение фронтальной камеры в вид сверху вниз
Vision HDL Toolbox/Геометрические преобразования
Блок Birds-Eye View деформирует изображение фронтальной камеры в вид сверху вниз. Он использует аппаратно эффективную архитектуру, поддерживающую генерацию HDL-кода.
Вы должны предоставить матрицу гомографии, которая описывает преобразование. Эта матрица может быть вычислена из свойств физической камеры или эмпирически выведена путем анализа изображения шаблона сетки, сделанного камерой. Блок использует матрицу, чтобы вычислить преобразованные координаты каждого пикселя. Преобразование не интерполируется между пикселями. Вместо этого результат округляется до ближайшей координаты.
Блок действует на трапециевидной области входного изображения ниже точки исчезновения. Эти изображения показывают входную область, выбранную для преобразования, и полученный вид сверху вниз.
Можно задать количество линий в преобразованной области и размер выхода системы координат. Если заданная матрица гомографии не может сопоставить требуемое количество линий с требуемым размером выхода, блок возвращает предупреждение.
Поскольку блок реплицируется линиями из области входа, чтобы создать большой выход системы координат, он не может завершить преобразование одной системы координат до прибытия следующей системы координат. Блок игнорирует любые новые входные кадры, пока он все еще преобразует предыдущую систему координат. Поэтому, в зависимости от сохраненных линий и размера выхода, блок может отбрасывать входные кадры. Эта синхронизация также позволяет блоку поддерживать интервалы гашения входного потока пикселей.
Этот блок использует интерфейс потокового пикселя с pixelcontrol
шина для сигналов управления системой координат. Этот интерфейс позволяет блоку работать независимо от размера и формата изображения. Все блоки Vision HDL Toolbox™ используют один и тот же потоковый интерфейс. Блок принимает и возвращает скалярное значение пикселя и шину, которая содержит пять сигналов управления. Сигналы управления указывают валидность каждого пикселя и его местоположение в системе координат. Чтобы преобразовать систему координат (пиксельную матрицу) в последовательный поток пикселей и сигналы управления, используйте блок Frame To Pixels. Полное описание интерфейса см. в разделе Потоковый пиксельный интерфейс.
Преобразование из входной пиксельной координаты (x,y) в пиксельную координату птичьего глаза получают из гомографической матрицы h. Матрица гомографии основана на физических параметрах и поэтому является константой для конкретной установки камеры.
Реализация преобразования птичьего глаза в оборудовании не выполняет непосредственно этот расчет. Вместо этого блок предварительно компилирует интерполяционные таблицы для горизонтального и вертикального аспектов преобразования.
Во-первых, блок хранит входные линии, начиная с предварительно вычисленной точки исчезновения. Сохраненные пиксели образуют трапецию с короткими линиями около точки исчезновения и более широкими линиями около камеры. Это хранилище использует Maximum buffer size, in pixels места памяти.
Горизонтальная интерполяционная таблица содержит параметры интерполяции, которые описывают растяжение каждой линии трапеций входной области до требуемой ширины выходной системы координат. Линии, которые падают ближе к точке исчезновения, растягиваются больше, чем линии ближе к камере.
Вертикальная интерполяционная таблица содержит сопоставление y-coordinate и количество повторений каждой линии для заполнения требуемой высоты выходной системы координат. Рядом с точкой исчезновения одна входная линия сопоставляется со многими выходными линиями, в то время как каждая линия ближе к камере преобразуется в уменьшающееся количество выходных линий.
В интерполяционных таблицах используются 3 * Number of input lines to buffer расположения памяти.
estimateGeometricTransform
(Computer Vision Toolbox) | imwarp
(Набор Image Processing Toolbox)