Изображение

Создайте сообщение изображений

Описание

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

Создание

Синтаксис

msg = rosmessage('sensor_msgs/Image')

Описание

пример

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

Свойства

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

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

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

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

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

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

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

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

Отобразите кодирование, заданное как вектор символов.

Пример: 'rgb8'

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

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

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

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

Полная длина строки в байтах, заданных как целое число. Эта длина зависит от глубины цвета и пиксельной ширины изображения. Например, изображение RGB имеет 3 байта на пиксель, таким образом, изображение с шириной 640 имеет шаг 1 920.

Данные изображения, заданные как массив uint8.

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

readImageПреобразуйте данные изображения ROS в изображение MATLAB
writeImageЗапишите изображение MATLAB в сообщение ROS изображений

Примеры

свернуть все

Считайте и запишите демонстрационному ROS сообщение Image путем преобразования его в изображение MATLAB. Затем преобразуйте изображение MATLAB® в сообщение ROS.

Выборка загрузки сообщения ROS и осматривает данные о сообщении изображений. img является демонстрационный ROS объект сообщения Image.

exampleHelperROSLoadMessages
img
img = 
  ROS Image message with properties:

    MessageType: 'sensor_msgs/Image'
         Header: [1x1 Header]
         Height: 480
          Width: 640
       Encoding: 'rgb8'
    IsBigendian: 0
           Step: 1920
           Data: [921600x1 uint8]

  Use showdetails to show the contents of the message

Создайте изображение MATLAB из сообщения Image с помощью readImage и отобразите его.

I = readImage(img);
imshow(I)

Создайте сообщение Image ROS из изображения MATLAB.

imgMsg = rosmessage('sensor_msgs/Image');
imgMsg.Encoding = 'rgb8'; % Specifies Image Encoding Type
writeImage(imgMsg,I)
imgMsg
imgMsg = 
  ROS Image message with properties:

    MessageType: 'sensor_msgs/Image'
         Header: [1x1 Header]
         Height: 480
          Width: 640
       Encoding: 'rgb8'
    IsBigendian: 0
           Step: 1920
           Data: [921600x1 uint8]

  Use showdetails to show the contents of the message

msg = rosmessage('sensor_msgs/Image')
msg = 
  ROS Image message with properties:

    MessageType: 'sensor_msgs/Image'
         Header: [1x1 Header]
         Height: 0
          Width: 0
       Encoding: ''
    IsBigendian: 0
           Step: 0
           Data: [0x1 uint8]

  Use showdetails to show the contents of the message

Представленный в R2015a