Image

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

Описание

The 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 и проверьте данные сообщения изображения. The 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