projectLidarPointsOnImage

Данные об облаке точек лидара проекта на изображение координируют систему координат

Описание

пример

imPts = projectLidarPointsOnImage(ptCloudIn,intrinsics,tform) проекты лоцируют данные об облаке точек на систему координат координаты изображений с помощью твердого преобразования между датчиком лидара и камерой, tform, и набор параметров внутреннего параметра камеры, intrinsics. Выход imPts содержит 2D координаты спроектированных точек во фрейме изображения.

imPts = projectLidarPointsOnImage(worldPoints,intrinsics,tform) проекты лоцируют точки в виде 3-D координат в мировой системе координат на систему координат координаты изображений.

[imPts,indices] = projectLidarPointsOnImage(___) возвращает линейные индексы спроектированных точек в облаке точек с помощью любой комбинации входных параметров в предыдущих синтаксисах.

[___] = projectLidarPointsOnImage(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к любой комбинации аргументов в предыдущих синтаксисах. Например, 'ImageSize',[250 400] устанавливает размер изображения, на котором можно спроектировать точки к 250 400 пикселям.

Примеры

свернуть все

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

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

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

intrinsics = gt.camParams;

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

tform = invert(gt.tform);

Downsample данные об облаке точек.

p1 = pcdownsample(pc,'gridAverage',0.5);

Спроектируйте облако точек на фрейм изображения.

imPts = projectLidarPointsOnImage(p1,intrinsics,tform);

Наложите спроектированные точки на изображении.

figure
imshow(img)
hold on
plot(imPts(:,1),imPts(:,2),'.','Color','r')
hold off

Figure contains an axes. The axes contains 2 objects of type image, line.

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

свернуть все

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

Точки в мировой координате структурируют в виде M-by-3 матрицу или M-by-N-by-3 массив. Если вы задаете M-by-3 матрица, каждая строка содержит 3-D мировые координаты точки в неорганизованном облаке точек, которое содержит точки M всего. Если вы указываете, что M-by-N-by-3 массив, M и N представляет количество строк и столбцов, соответственно, в организованном облаке точек. Каждый канал массива содержит 3-D мировые координаты той точки.

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

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

Лоцируйте к камере твердое преобразование в виде rigid3d объект.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'ImageSize',[250 400] устанавливает размер изображения, на котором можно спроектировать точки к 250 400 пикселям.

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

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

Размер изображения, на котором точки спроектированы в виде разделенной запятой пары, состоящей из 'ImageSize' и двухэлементный вектор-строка из формы [width height] в пикселях. Функция использует заданные измерения, чтобы отфильтровать спроектированные точки, которые не находятся в поле зрения камеры.

Если вы делаете не задают the'ImageSize' аргумент, затем функция использует ImageSize свойство от параметров внутреннего параметра камеры intrinsics оценить поле зрения камеры.

Примечание

Если вы задаете 'ImageSize' аргумент, больше, чем параметр по умолчанию, затем, функция использует параметр по умолчанию.

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

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

свернуть все

Точки спроектированы на изображении, возвращенном как M-by-2 матрица. Каждая строка содержит 2D координаты, в форме [x y], точка во фрейме изображения.

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

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

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

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

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

Введенный в R2020b