pcshowMatchedFeatures

Отобразите облака точек с совпадающими характерными точками

Описание

pcshowMatchedFeatures(ptCloud1,ptCloud2,matchedPtCloud1,matchedPtCloud2) облака точек отображений, ptCloud1 и ptCloud2, с их совпадающими характерными точками, matchedPtCloud1 и matchedPtCloud2, цвет закодирован облаком точек и каждым соединенным с соответствующей точкой в другом облаке точек линией.

ax = pcshowMatchedFeatures(___) дополнительно возвращает axes объект с помощью входных параметров от предыдущего синтаксиса.

пример

[___] = pcshowMatchedFeatures(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к любой комбинации аргументов в предыдущих синтаксисах. Например, 'Method','montage' визуализирует облака точек друг рядом с другом в осях.

Примеры

свернуть все

В этом примере показано, как совпадать с соответствующими функциями облака точек и визуализировать их использующий pcmatchfeatures и pcshowMatchedFeatures функции.

Создайте velodyneFileReader объект.

veloReader = velodyneFileReader('lidarData_ConstructionRoad.pcap','HDL32E');

Считайте два облака точек с помощью velodyneFileReader объект.

frameNumber = 1;
skipFrame = 5;
fixed = readFrame(veloReader,frameNumber);
moving = readFrame(veloReader,frameNumber + skipFrame);

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

groundPtsIdxFixed = segmentGroundFromLidarData(fixed);
fixedSeg = select(fixed,~groundPtsIdxFixed,'OutputSize','full');

Сегмент и удаляет наземную плоскость из движущегося облака точек. Постройте оба облака точек.

groundPtsIdxMoving = segmentGroundFromLidarData(moving);
movingSeg = select(moving,~groundPtsIdxMoving,'OutputSize','full');
figure
pcshowpair(fixedSeg,movingSeg)
ylim([-50 60])
title('Input Point Clouds')

Наложенные облака точки ввода являются цветом, закодированным можно следующим образом:

  • Пурпурный - облако Фиксированной точки

  • Зеленый - движущееся облако точек

Downsample облака точек.

fixedDownsampled = pcdownsample(fixedSeg,'gridAverage',0.2);
movingDownsampled = pcdownsample(movingSeg,'gridAverage',0.2);

Извлеките функции из облаков точек.

[fixedFeature,fixedValidInds] = extractFPFHFeatures(fixedDownsampled);
[movingFeature,movingValidInds] = extractFPFHFeatures(movingDownsampled);
fixedValidPts = select(fixedDownsampled,fixedValidInds);
movingValidPts = select(movingDownsampled,movingValidInds);

Совпадайте с функциями между облаками точек.

indexPairs = pcmatchfeatures(movingFeature,fixedFeature,movingValidPts, ...
    fixedValidPts);
matchedFixedPts = select(fixedValidPts,indexPairs(:,2));
matchedMovingPts = select(movingValidPts,indexPairs(:,1));

Визуализируйте соответствия.

figure
pcshowMatchedFeatures(movingSeg,fixedSeg,matchedMovingPts,matchedFixedPts, ...
    'Method',"montage")
xlim([-40 210])
ylim([-50 50])
title('Matched Points')

Совпадающими функциями и облаками точек является цвет, закодированный, чтобы улучшить визуализацию:

  • Пурпурный - Движущееся облако точек.

  • Зеленый - облако Фиксированной точки.

  • Красный круг - Совпадающие точки в движущемся облаке точек.

  • Синяя звездочка - Совпадающие точки в облаке фиксированной точки.

  • Желтый - Линия, соединяющая соответствующие функции.

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

свернуть все

Первое облако точек в виде pointCloud объект.

Второе облако точек в виде pointCloud объект.

Совпадающие точки в первом облаке точек в виде pointCloud объект. Каждая точка является соответствием функции для точки с соответствующим индексом в matchedPtCloud2.

Совпадающие точки во втором облаке точек в виде pointCloud объект. Каждая точка является соответствием функции для точки с соответствующим индексом в matchedPtCloud1.

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

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

Пример: 'Method','montage' визуализирует облака точек друг рядом с другом в осях.

Отобразите метод в виде разделенной запятой пары, состоящей из 'Method' и одна из этих опций:

  • 'overlay' — Наложите ptCloud2 на ptCloud1.

  • 'montage' — Отобразите ptCloud1 и ptCloud2 друг рядом с другом в тех же осях.

Типы данных: char | string

Стиль линии и параметры цвета в виде разделенной запятой пары, состоящей из 'PlotOptions' и массив ячеек из символьных векторов формы {MarkerStyle1, MarkerStyle2, LineStyle}. MarkerStyle1 задает цветной и символ маркера для совпадающих точек matchedPtCloud1 в первом облаке точек ptCloud1. MarkerStyle2 задает цветной и символ маркера для совпадающих точек matchedPtCloud2 во втором облаке точек ptCloud2. LineStyle задает цветной и стиль линии линий, соединяющих совпадающие точки первого облака точек к совпадающим точкам второго. Для получения дополнительной информации о стилях линии видят символы маркера и цвета, LineSpec.

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

Выведите оси в виде разделенной запятой пары, состоящей из 'Parent' и axes графический объект.

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

свернуть все

Указатель осей, возвращенный как axes графический объект.

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

Функции

Введенный в R2020b
Для просмотра документации необходимо авторизоваться на сайте