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