exponenta event banner

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 пуст.

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

свернуть все

'sensor_msgs/Image' или 'sensor_msgs/CompressedImage' Сообщение изображения ROS, указанное как Image или Compressed Image структура сообщения.

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

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

свернуть все

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

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

Примечание

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

Совет

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

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

  • rgb16, rgba16, bgr16, and bgra16: img - 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 (требуется Toolbox™ обработки изображений).

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

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

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

.

См. также

|

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