exponenta event banner

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++ с помощью MATLAB ® Coder™

.
Представлен в R2015a