PointCloud2

Сообщения облака точки доступа

Описание

PointCloud2 объект является реализацией sensor_msgs/PointCloud2 тип сообщения в ROS. Объект содержит метаинформацию о сообщении и данных об облаке точек. Чтобы получить доступ к фактическим данным, используйте readXYZ понять координаты и readRGB получить информацию о цвете, при наличии.

Создание

Описание

пример

ptcloud = rosmessage('sensor_msgs/PointCloud2') создает пустой PointCloud2 объект. Чтобы задать данные об облаке точек, используйте ptcloud.Data свойство. Можно также получить сообщения данных об облаке точек от сети ROS с помощью rossubscriber.

Свойства

развернуть все

Это свойство доступно только для чтения.

Сохраните форму матрицы облака точек, заданной как false или true. Когда свойством является true, выходные данные от readXYZ и readRGB возвращены как матрицы вместо векторов.

Это свойство доступно только для чтения.

Тип сообщения сообщения ROS, возвращенного как вектор символов.

Типы данных: char

Это свойство доступно только для чтения.

Сообщение Заголовка ROS, возвращенное как Header объект. Это сообщение заголовка содержит MessageType, последовательность (Seq), метка времени (Stamp), и FrameId.

Высота облака точек в пикселях, заданных как целое число.

Ширина облака точек в пикселях, заданных как целое число.

Отобразите последовательность байта, заданную как true или false.

  • true — Последовательность с обратным порядком байтов. Хранит старший значащий байт в самом маленьком адресе.

  • false — Последовательность с прямым порядком байтов. Хранит младший значащий байт в самом маленьком адресе.

Длина точки в байтах, заданных как целое число.

Полная длина строки в байтах, заданных как целое число. Длина строки равняется PointStep свойство умножается на Width свойство.

Данные об облаке точек, заданные как uint8 массив. Чтобы получить доступ к данным, используйте Функции объекта.

Функции объекта

readAllFieldNamesПолучите все имена доступного поля от облака точек ROS
readFieldСчитайте данные об облаке точек на основе имени поля
readRGBИзвлеките значения RGB из данных об облаке точек
readXYZИзвлеките координаты XYZ из данных об облаке точек
scatter3Отобразите облако точек в графике рассеивания
showdetailsОтобразите все содержимое сообщения ROS

Примеры

свернуть все

Доступ и визуализирует данные в сообщении облака точек.

Создайте демонстрационные сообщения ROS и смотрите изображение облака точек. ptcloud демонстрационный ROS PointCloud2 объект сообщения.

exampleHelperROSLoadMessages
ptcloud
ptcloud = 
  ROS PointCloud2 message with properties:

    PreserveStructureOnRead: 0
                MessageType: 'sensor_msgs/PointCloud2'
                     Header: [1x1 Header]
                     Height: 480
                      Width: 640
                IsBigendian: 0
                  PointStep: 32
                    RowStep: 20480
                    IsDense: 0
                     Fields: [4x1 PointField]
                       Data: [9830400x1 uint8]

  Use showdetails to show the contents of the message

Получите информацию о RGB и xyz-координаты от облака точек с помощью readXYZ и readRGB.

xyz = readXYZ(ptcloud);
rgb = readRGB(ptcloud);

Отобразите облако точек в фигуре, использующей scatter3.

scatter3(ptcloud)

Преобразуйте сообщение облака точек ROS Toolbox™ в Систему Компьютерного зрения Toolbox™ pointCloud объект.

Загрузите демонстрационные сообщения.

exampleHelperROSLoadMessages

Преобразуйте ptcloud обменивайтесь сообщениями к pointCloud объект.

pcobj = pointCloud(readXYZ(ptcloud),'Color',uint8(255*readRGB(ptcloud)))
pcobj = 
  pointCloud with properties:

     Location: [307200x3 single]
        Color: [307200x3 uint8]
       Normal: []
    Intensity: []
        Count: 307200
      XLimits: [-1.8147 1.1945]
      YLimits: [-1.3714 0.8812]
      ZLimits: [1.4190 3.3410]

Введенный в R2019b