fuseCameraToLidar

Плавьте данные изображения, чтобы лоцировать облако точек

Описание

ptCloudOut = fuseCameraToLidar(I,ptCloudIn,intrinsics) информация о предохранителях от изображения, I, к заданному облаку точек, ptCloudIn, с помощью параметров внутреннего параметра камеры, intrinsics.

Функциональные обрезки сплавленное облако точек, ptCloudOut, так, чтобы это содержало только точки, существующие в поле зрения камеры.

пример

ptCloudOut = fuseCameraToLidar(I,ptCloudIn,intrinsics,tform) использует камеру, чтобы лоцировать твердое преобразование tform принести облако точек во фрейм изображения прежде, чем плавить его к данным изображения. Используйте этот синтаксис, когда данные об облаке точек не будут в системе координат координаты камеры.

ptCloudOut = fuseCameraToLidar(___,nonoverlapcolor) возвращает сплавленное облако точек одного размера с облаком точки ввода. Функция использует заданный цветной nonoverlapcolor для точек, которые находятся вне поля зрения камеры в дополнение к любой комбинации входных параметров от предыдущих синтаксисов.

[ptCloudOut,colormap] = fuseCameraToLidar(___) возвращает цвета точек colormap из сплавленного облака точек.

[ptCloudOut,colormap,indices] = fuseCameraToLidar(___) возвращает линейные индексы точек в сплавленном облаке точек, которые находятся в поле зрения камеры в дополнение к выходным аргументам от предыдущих синтаксисов.

Примеры

свернуть все

Загрузите MAT-файл, содержащий достоверные данные в рабочую область. Извлеките изображение и облако точек из данных.

dataPath = fullfile(toolboxdir('lidar'),'lidardata','lcc','sampleColoredPtCloud.mat');
gt = load(dataPath);
im = gt.im;
ptCloud = gt.ptCloud;

Постройте извлеченное облако точек.

pcshow(ptCloud)
title('Original Point Cloud')

Figure contains an axes object. The axes object with title Original Point Cloud contains an object of type scatter.

Извлеките лидар к матрице преобразования камеры и параметрам внутреннего параметра камеры от достоверных данных.

intrinsics = gt.camParams;
camToLidar = gt.tform;

Плавьте изображение к облаку точек.

ptCloudOut = fuseCameraToLidar(im,ptCloud,intrinsics,camToLidar);

Визуализируйте сплавленное облако точек.

pcshow(ptCloudOut)
title('Colored Point Cloud')

Figure contains an axes object. The axes object with title Colored Point Cloud contains an object of type scatter.

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

свернуть все

Цветное или полутоновое изображение в виде H-by-W-by-C массив.

  • H Это задает высоту изображения.

  • W Это задает ширину изображения.

  • C Это задает количество цветовых каналов в изображении. Функция поддерживает до трех цветовых каналов в изображении.

Типы данных: single | double | int16 | uint8 | uint16

Облако точек в виде pointCloud объект.

Параметры внутреннего параметра камеры в виде cameraIntrinsics объект.

Камера, чтобы лоцировать твердое преобразование в виде rigid3d объект.

Спецификация цветов для точек вне поля зрения камеры в виде названия цвета, короткого названия цвета или триплета RGB.

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7]Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета и эквивалентные значения триплета RGB.

Название цветаЦветное краткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

'green''g'[0 1 0]

'blue''b'[0 0 1]

'cyan' 'c' [0 1 1]

'magenta''m'[1 0 1]

'yellow''y'[1 1 0]

'black''k'[0 0 0]

'white''w'[1 1 1]

Типы данных: single | double | char

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

свернуть все

Сплавленное облако точек, возвращенное как pointCloud объект.

Карта цветов облака точек, возвращенная как одна из этих опций:

  • M-by-3 матрица — Для неорганизованных облаков точек

  • M-by-N-by-3 массив — Для организованных облаков точек

Каждая строка матрицы или канал массива содержат триплет RGB для соответствующей точки в облаке точек. Функция возвращает их как вещественные значения в области значений [0, 1]. Если вы не задаете nonoverlapcolor аргумент, затем значением цвета для точек вне поля зрения камеры является [0 0 0] (черный).

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

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

Типы данных: single | double

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2020b