exponenta event banner

Изображение

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

Описание

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

Создание

Описание

пример

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

Свойства

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

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

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

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

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

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

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

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

Кодировка изображения, заданная как символьный вектор.

Пример: 'rgb8'

Последовательность байтов изображения, указанная как true или false.

  • true - Большая эндиевая последовательность. Сохраняет самый значительный байт в наименьшем адресе.

  • false - Малая эндиевая последовательность. Хранит наименьший значащий байт в наименьшем адресе.

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

Данные изображения, указанные как 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)

Figure contains an axes. The axes contains an object of type image.

Создание ROS Image сообщение от изображения 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

Представлен в R2019b