Извлечение координат 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 список. Эта структура может быть сохранена, только если организовано облако точек.