addView

Добавьте представление, чтобы сопоставить

Описание

пример

sMapOut = addView(sMapIn,viewId,features) добавляет представление, viewId, это содержит заданные функции features к карте sMapIn.

sMapOut = addView(sMapIn,viewId,features,segments) добавляют сегменты segments это соответствует каждой функции.

Примеры

свернуть все

Создайте представление карты, чтобы содержать сегменты облака точек и функции.

sMap = pcmapsegmatch('CentroidDistance',1);

Загрузите сканы облака точек.

data = load('fullParkingLotData.mat');
ptCloudScans = data.fullParkingLotData;

Установите радиус выбирать цилиндрическое окружение.

outerCylinderRadius = 30;
innerCylinderRadius = 3;

Установите пороговые параметры для сегментации.

distThreshold = 0.5;
angleThreshold = 180;

Сегмент каждое облако точек и добавляет опции и сегменты облака точек к карте.

for n = 1:numel(ptCloudScans);
    ptCloud = ptCloudScans(n);

    % Segment and remove the ground plane.
    groundPtsIdx = segmentGroundFromLidarData(ptCloud,'ElevationAngleDelta',11);
    ptCloud = select(ptCloud,~groundPtsIdx,'OutputSize','full');

    % Select cylindrical neighborhood.
    dists = sqrt(ptCloud.Location(:,:,1).^2 + ptCloud.Location(:,:,2).^2);
    cylinderIdx = dists <= outerCylinderRadius ...
        & dists > innerCylinderRadius;
    ptCloud = select(ptCloud,cylinderIdx,'OutputSize','full');

    % Segment the point cloud.
    [labels, numClusters] = segmentLidarData(ptCloud,distThreshold,angleThreshold,'NumClusterPoints',[50 5000]);

    % Extract features from the point cloud.
    [features,segments] = extractEigenFeatures(ptCloud,labels);

    % Add the features and segments to the map.
    sMap = addView(sMap,n,features,segments);
end

Отобразите карту сегментов.

figure; show(sMap);

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

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

свернуть все

Исходная карта сегментов и функций в виде pcmapsegmatch объект.

Просмотрите идентификатор в виде целого числа. Каждое представление идентификаторы уникально для определенного представления.

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

Необходимо извлечь новые возможности только из облака точек, указанного к облакам точек существующих функций

Сегменты облака точек в виде вектора из pointCloud объекты. Использовать show возразите функции для визуализации, необходимо задать этот аргумент.

Для улучшенной производительности не включайте segments в карте с findPose и updateMap функции объекта. В качестве альтернативы можно использовать deleteSegment возразите функции, чтобы удалить существующие сегменты перед использованием findPose или updateMap.

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

свернуть все

Обновленная карта сегментов и функций, возвращенных как pcmapsegmatch объект.

Смотрите также

Функции

Объекты

Введенный в R2021a