Преобразуйте обращенное к передней стороне изображение камеры в нисходящее представление
Система visionhdl.BirdsEyeView
object™ деформирует обращенное к передней стороне изображение камеры в нисходящее представление. Это использует эффективную оборудованием архитектуру, которая поддерживает генерацию HDL-кода.
Необходимо обеспечить матрицу homography, которая описывает преобразование. Эта матрица может быть вычислена от физических свойств камеры, или опытным путем выведена путем анализа изображения шаблона сетки, взятого камерой. Объект использует матрицу, чтобы вычислить преобразованные координаты каждого пикселя. Преобразование не интерполирует между пиксельными местоположениями. Вместо этого это округляет результат к самой близкой координате.
Объект работает с трапециевидной областью входного изображения ниже предела. Эти изображения показывают входную область, выбранную для преобразования и получившегося нисходящего представления.
Можно задать количество строк в преобразованной области и размере выходного кадра. Если заданная матрица homography не может сопоставить от требуемого количества строк к требуемому выходному размеру, объект возвращает предупреждение.
Поскольку объект реплицирует строки из входной области, чтобы создать больший выходной кадр, это не может завершить преобразование одного кадра, прежде чем следующий кадр прибудет. Объект игнорирует любые новые входные кадры, в то время как он все еще преобразовывает предыдущий кадр. Поэтому в зависимости от сохраненных строк и выходного размера, объект может пропустить входные кадры. Эта синхронизация также включает объекту поддержать интервалы гашения потока входного пикселя.
Преобразовать обращенное к передней стороне изображение камеры к нисходящему представлению:
Создайте объект visionhdl.BirdsEyeView
и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
birdsEyeXfrm = visionhdl.BirdsEyeView(hM,MaxBufferSize,Name,Value)
birdsEyeXfrm = visionhdl.BirdsEyeView(
возвращает видимый с большого расстояния Системный объект преобразования, с матричным набором homography к hM
,MaxBufferSize
,Name
,Value
)hM
и buffer size пикселей MaxBufferSize
. Можно опционально установить дополнительные свойства с помощью пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.
[pixelOut,ctrlOut] = birdsEyeXfrm(pixelIn,ctrlIn)
[
возвращает преобразование вида с высоты птичьего полета входного потока. Формат кадра потока вывода соответствует размеру, который вы сконфигурировали в свойствах pixelOut
,ctrlOut
] = birdsEyeXfrm(pixelIn
,ctrlIn
)BirdsEyeViewPixels
и BirdsEyeViewLines
.
Этот объект использует пиксельный интерфейс потоковой передачи со структурой для сигналов управления кадром. Этот интерфейс включает объекту действовать независимо от размера изображения и формата, и соединиться с другими объектами Vision HDL Toolbox™. Объект принимает и возвращает скалярное пиксельное значение. Объект также принимает и возвращает управляющие сигналы как структуру, содержащую пять сигналов. Управляющие сигналы указывают на валидность каждого пикселя и его местоположения в кадре. Чтобы преобразовать пиксельную матрицу в пиксельный поток и управляющие сигналы, используйте объект visionhdl.FrameToPixels
. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Преобразование от координаты входного пикселя (x,y) к видимой с большого расстояния пиксельной координате выведено из матрицы homography, h. Матрица homography основана на физических параметрах и поэтому является константой для конкретной установки камеры.
Реализация видимого с большого расстояния преобразования в оборудовании непосредственно не выполняет это вычисление. Вместо этого объект предварительно вычисляет интерполяционные таблицы для горизонтальных и вертикальных аспектов преобразования.
Во-первых, объектно-ориентированная память входные строки, начинающие с предварительно вычисленного предела. Сохраненные пиксели формируют трапецоид с короткими строками около предела и более широкими строками около камеры. Это устройство хранения данных использует ячейки памяти MaxBufferSize
.
Горизонтальная интерполяционная таблица содержит параметры интерполяции, которые описывают фрагмент каждой строки трапециевидной входной области к требуемой ширине выходного кадра. Строки, которые падают ближе на предел, расширяются больше, чем строки ближе к камере.
Вертикальная интерполяционная таблица содержит y - координатное отображение, и сколько раз каждая строка повторяется, чтобы заполнить требуемую высоту выходного кадра. Около предела, входной контурной карты ко многим выходным строкам, в то время как каждая строка ближе камера сопоставляет с уменьшающимся количеством выходных строк.
Интерполяционные таблицы используют 3*MaxSourceLinesBuffered
ячейки памяти.