pcdenoise

Удалите шум из 3-D облака точек

Описание

пример

ptCloudOut = pcdenoise(ptCloudIn) возвращает отфильтрованное облако точек, которое удаляет ненужное.

[ptCloudOut,inlierIndices,outlierIndices] = pcdenoise(ptCloudIn) дополнительно возвращает линейные индексы к точкам, которые идентифицируются как инлиеры и выбросы.

[ptCloudOut,___] = pcdenoise(___Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар, с использованием любого из предыдущих синтаксисов.

Примеры

свернуть все

Создайте облако точек плоскости.

gv = 0:0.01:1;
[X,Y] = meshgrid(gv,gv);
ptCloud = pointCloud([X(:),Y(:),0.5*ones(numel(X),1)]);

figure
pcshow(ptCloud);
title('Original Data');

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

Добавьте равномерно распределенный случайный шум.

noise = rand(500, 3);
ptCloudA = pointCloud([ptCloud.Location; noise]);

figure
pcshow(ptCloudA);
title('Noisy Data');

Figure contains an axes. The axes with title Noisy Data contains an object of type scatter.

Удалите выбросы.

ptCloudB = pcdenoise(ptCloudA);

figure;
pcshow(ptCloudB);
title('Denoised Data');

Figure contains an axes. The axes with title Denoised Data contains an object of type scatter.

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

свернуть все

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

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

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

Пример: 'Threshold', 1.0 устанавливает порог 1.0.

Количество ближайших соседних точек, заданное как разделенная разделенными запятой парами, состоящая из 'NumNeighbors'и положительное целое число в пикселях. Значение используется, чтобы оценить среднее значение среднего расстояния до соседей всех точек. Уменьшение этого значения делает фильтр более чувствительным к шуму. Увеличение этого значения увеличивает количество расчетов.

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

Выбросы, заданный как разделенная разделенными запятой парами, состоящая из 'Threshold'и скаляром. По умолчанию порог является одним стандартным отклонением от среднего значения среднего расстояния до соседей всех точек. Точка рассматривается как выбросы, если среднее расстояние до ее k - ближайших соседей выше заданного порога.

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

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

свернуть все

Отфильтрованное облако точек, возвращенное как pointCloud объект.

Линейный индекс inlier точек, возвращенный как вектор с 1 N байта.

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

Линейный индекс выходных точек, возвращенный как 1-бай- N вектор линейных индексов.

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

Ссылки

[1] Rusu, R. B., Z. C. Marton, N. Blodow, M. Dolha, and M. Beetz. «На пути 3D основанным на облаке точек Объектом картам для бытовых Окружений». Журнал «Робототехника и автономные системы». 2008.

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

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

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