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]
                     Fields: [4x1 PointField]
                     Height: 480
                      Width: 640
                IsBigendian: 0
                  PointStep: 32
                    RowStep: 20480
                       Data: [9830400x1 uint8]
                    IsDense: 0

  Use showdetails to show the contents of the message

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

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

Отобразите облако точек на рисунке, использующем scatter3.

scatter3(ptcloud)

Figure contains an axes object. The axes object with title Point Cloud contains an object of type scatter.

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

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

exampleHelperROSLoadMessages

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

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

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

Введенный в R2019b