pcmerge

Объединение двух облаков 3-D точек

Описание

пример

ptCloudOut = pcmerge(ptCloudA,ptCloudB,gridStep) возвращает объединенное облако точек с помощью прямоугольного сеточного фильтра. gridStep задает размер 3-D ящика для фильтра.

Примеры

свернуть все

Создайте облако точек с точками X, Y, Z в [0, 100].

ptCloudA = pointCloud(100*rand(1000,3));

Создайте частично перекрывающееся облако точек.

ptCloudB = pointCloud([70 20 30] + 100*rand(1000,3));

Объедините эти два облаков точек с помощью прямоугольного фильтра.

ptCloudOut = pcmerge(ptCloudA, ptCloudB, 1);
pcshow(ptCloudOut);

Figure contains an axes. The axes contains an object of type scatter.

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

свернуть все

Облако точек A, заданное как pointCloud объект.

Облако точек B, заданное как pointCloud объект.

Размер 3-D для сеточного фильтра, заданный в виде числа значения. Увеличьте размер gridStep когда недостаточно ресурсов для создания крупной мелкозернистой сетки.

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

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

свернуть все

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

Совет

  • Если два облака точек не имеют одинакового набора свойств, таких как Color или Normalэти свойства будут очищены в возвращенном облаке точек. Для примера, если ptCloudA имеет цвет, но ptCloudB нет, тогда ptCloudOut не будет содержать цвет.

  • Функция отфильтровывает точки с NaN или Inf значения.

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

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

.
Введенный в R2015a