exponenta event banner

pcdenoise

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

Описание

пример

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

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

[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 объект.

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

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

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

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

Ссылки

[1] Русу, Р. Б., З. К. Мартон, Н. Блодоу, М. Долха и М. Беец. «На пути к 3D карт объектов на основе облака точек для бытовых сред». Журнал робототехники и автономных систем. 2008.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

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