Извлечение координат XYZ из данных облака точек
извлекает xyz = readXYZ(pcloud)[x y z] координаты из всех точек в PointCloud2 объект, pcloudи возвращает их в виде матрицы n-на-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;
Теперь вызов любых функций чтения (readXYZ,readRGB, или readField) сохраняет организационную структуру облака точек. При сохранении структуры выходные матрицы имеют размер m-by-n-by-d, где m - высота, n - ширина, а d - количество возвращаемых значений для каждой точки. В противном случае все точки возвращаются в виде списка x-by-d. Эту структуру можно сохранить, только если организовано облако точек.