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 размера (требуется Image Processing Toolbox™).

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

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

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

.

См. также

|

Введенный в R2021a