visionhdl.BirdsEyeView

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

Описание

visionhdl.BirdsEyeView Система object™ деформирует обращенное к передней стороне изображение камеры в нисходящее представление. Это использует эффективную оборудованием архитектуру, которая поддерживает генерацию HDL-кода.

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

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

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

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

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

  1. Создайте visionhdl.BirdsEyeView объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

birdsEyeXfrm = visionhdl.BirdsEyeView(hM,MaxBufferSize,Name,Value) возвращает видимый с большого расстояния Системный объект преобразования, с матричным набором homography к hM, и buffer size MaxBufferSize 'pixels'. Можно опционально установить дополнительные свойства с помощью пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.

Свойства

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

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

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

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

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

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

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

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

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

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

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

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

Использование

Описание

[pixelout,ctrlout] = birdsEyeXfrm(pixelin,ctrlin) возвращает преобразование вида с высоты птичьего полета входного потока. Формат кадра потока вывода соответствует размеру, который вы сконфигурировали в BirdsEyeViewPixels и BirdsEyeViewLines свойства.

Этот объект использует пиксельный интерфейс потоковой передачи со структурой для сигналов управления кадром. Этот интерфейс включает объекту действовать независимо от размера изображения и формата и соединиться с другими объектами Vision HDL Toolbox™. Объект принимает и возвращает скалярное пиксельное значение и управляющие сигналы как структура, содержащая пять сигналов. Управляющие сигналы указывают на валидность каждого пикселя и его местоположения в системе координат. Чтобы преобразовать пиксельную матрицу в пиксельный поток и управляющие сигналы, используйте visionhdl.FrameToPixels объект. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.

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

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

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

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

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fi | logical | double | single

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

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

Выходные аргументы

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

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

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

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fi | logical | double | single

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

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

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

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

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Алгоритмы

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

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

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

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

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

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

Интерполяционные таблицы используют 3*MaxSourceLinesBuffered ячейки памяти.

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

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

Блоки

Объекты

Функции

Введенный в R2017b