rosReadXYZ

Извлечение координат XYZ из данных облака точек

Описание

xyz = rosReadXYZ(pcloud) извлекает [x y z] координаты от всех точек в PointCloud2 Сообщение ROS или ROS 2, pcloud, и возвращает их как n -by-3 матрица n 3-D координат точки. Если облако точек не содержит x, y и z поля, эта функция возвращает ошибку. Точки, которые содержат NaN сохраняются в выходе.

xyz = rosReadXYZ(pcloud,"PreserveStructureOnRead",true) сохраняет организационную структуру облака точек, возвращенного в xyz выход. Для получения дополнительной информации см. Раздел «Сохранение структуры облака точек».

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

свернуть все

Облако точек, заданное как PointCloud2 структура сообщений для 'sensor_msgs/PointCloud2' Сообщение ROS или ROS 2.

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

свернуть все

Список значений XYZ из облака точек, возвращенный как матрица. По умолчанию это матрица n -by-3.

Если на PreserveStructureOnRead для аргумента пары "имя-значение" задано значение trueточки возвращаются как h -by- w -by-3 матрица.

Совет

Данные облака точек могут быть организованы в 1-D списках или в 2-D стилях изображений. 2-D стили изображений обычно исходят от датчиков глубины или стереофотоаппаратов. Область входа PointCloud2 объект содержит PreserveStructureOnRead свойство, которое либо true или false (по умолчанию). Предположим, что вы задаете свойство true.

pcloud.PreserveStructureOnRead = true;

Теперь вызов любых функций read (rosReadXYZ, rosReadRGB, или rosReadField) сохраняет организационную структуру облака точек. Когда вы сохраняете структуру, выходные матрицы имеют размер m -by- n -by- d, где m - высота, n - ширина, а d - количество возвращаемых значений для каждой точки. В противном случае все точки возвращаются как x -by - d список. Эта структура может быть сохранена, только если организовано облако точек.

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

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

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