rosReadImage

Преобразуйте данные изображения ROS в изображение MATLAB

Описание

img = rosReadImage(msg) преобразует необработанные данные изображения в структуре сообщения, msg, в матрицу изображений, img. Можно вызвать rosReadImage использование любого 'sensor_msgs/Image' или 'sensor_msgs/CompressedImage' сообщения.

Данные о сообщении ROS изображений хранятся в формате, который не совместим с дальнейшей обработкой изображений в MATLAB®. На основе заданного кодирования эта функция преобразует данные в соответствующее изображение MATLAB и возвращает его в img.

msgOut = rosReadImage(___,"Encoding",encodingParam) задает кодирование сообщения изображений в качестве аргумента значения имени с помощью любого из предыдущих входных параметров. Если Encoding поле сообщения не установлено, используйте этот синтаксис, чтобы установить поле.

[img,alpha] = rosReadImage(___) возвращает альфа-канал изображения в alpha. Если изображение не имеет альфа-канала, то alpha isempty.

Входные параметры

свернуть все

'sensor_msgs/Image' или 'sensor_msgs/CompressedImage' Изображение ROS обменивается сообщениями в виде Image или Compressed Image передайте структуру.

Кодирование изображения обменивается сообщениями в виде строкового скаляра. Используя этот входной параметр перезаписывает Encoding поле входа msg. Для получения дополнительной информации смотрите Поддерживаемую Кодировку Изображений.

Выходные аргументы

свернуть все

Отобразите, возвращенный как матрица, представляющая шкалу полутонов или изображение RGB или как m-by-n-by-3 массив, в зависимости от изображения датчика.

Альфа-канал, возвращенный как uint8 полутоновое изображение. Если никакой альфа-канал не существует, alpha isempty.

Примечание

Для CompressedImage сообщения, вы не можете вывести Альфа-канал.

Советы

Сообщения ROS изображений могут иметь различную кодировку. Кодировка, поддержанная для изображений, отличается для 'sensor_msgs/Image' и 'sensor_msgs/CompressedImage' типы сообщений. Поддерживается меньше сжатых изображений. Следующая кодировка для необработанных изображений размера M-by-N поддерживается с помощью 'sensor_msgs/Image' тип сообщения ('sensor_msgs/CompressedImage' поддержка полужирным):

  • rgb8, rgba8, bgr8, bgra8img rgb изображение размера M-by-N-by-3. Альфа-канал возвращен в alpha. Каждое значение в выходных параметрах представлено как uint8.

  • rgb16, rgba16, bgr16, and bgra16img изображение RGB размера M-by-N-by-3. Альфа-канал возвращен в alpha. Каждое значение в выходе представлено как uint16.

  • mono8 изображения возвращены как полутоновые изображения размера M-by-N-by-1. Каждое пиксельное значение представлено как uint8.

  • mono16 изображения возвращены как полутоновые изображения размера M-by-N-by-1. Каждое пиксельное значение представлено как uint16.

  • 32fcX изображения возвращены как изображения с плавающей точкой размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как single.

  • 64fcX изображения возвращены как изображения с плавающей точкой размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как double.

  • 8ucX изображения возвращены как матрицы размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как uint8.

  • 8scX изображения возвращены как матрицы размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int8.

  • 16ucX изображения возвращены как матрицы размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int16.

  • 16scX изображения возвращены как матрицы размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int16.

  • 32scX изображения возвращены как матрицы размера M-by-N-by-D, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int32.

  • bayer_X изображения возвращены или как матрицы Байера размера M-by-N-by-1, или как преобразованное изображение размера M-by-N-by-3 (Image Processing Toolbox™ требуется).

Следующее кодирование для необработанных изображений размера M-by-N поддерживается с помощью 'sensor_msgs/CompressedImage' тип сообщения:

  • rgb8, rgba8, bgr8, and bgra8img rgb изображение размера M-by-N-by-3. Альфа-канал возвращен в alpha. Каждое выходное значение представлено как uint8.

Расширенные возможности

Смотрите также

|

Введенный в R2021a