Извлечение координат XYZ из данных облака точек
извлекает xyz = readXYZ(pcloud)[x y z] координаты от всех точек в PointCloud2 объект, pcloud, и возвращает их как n -by-3 матрица n 3-D координат точки. Если облако точек не содержит x, y и z поля, эта функция возвращает ошибку. Точки, которые содержат NaN сохраняются в выходе. Для сохранения структуры данных облака точек смотрите Сохранение структуры облака точек.
Примечание
readXYZ будет удален. Использовать rosReadXYZ вместо этого. Для получения дополнительной информации смотрите Функции структуры сообщений ROS
Данные облака точек могут быть организованы в 1-D списках или в 2-D стилях изображений. 2-D стили изображений обычно исходят от датчиков глубины или стереофотоаппаратов. Область входа PointCloud2 объект содержит PreserveStructureOnRead свойство, которое либо true или false (по умолчанию). Предположим, что вы задаете свойство true.
pcloud.PreserveStructureOnRead = true;
Теперь вызов любых функций read (readXYZ,readRGB, или readField) сохраняет организационную структуру облака точек. Когда вы сохраняете структуру, выходные матрицы имеют размер m -by- n -by- d, где m - высота, n - ширина, а d - количество возвращаемых значений для каждой точки. В противном случае все точки возвращаются как x -by - d список. Эта структура может быть сохранена, только если организовано облако точек.