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 матрица.

Советы

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

pcloud.PreserveStructureOnRead = true;

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

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

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

| |

Введенный в R2021a