readImage

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

Описание

пример

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

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

Примечание

readImage будет удален. Использование rosReadImage вместо этого. Для получения дополнительной информации смотрите, что ROS передает Функции Структуры

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

Примеры

свернуть все

Выборка загрузки сообщения ROS включая ROS отображает сообщение, img.

exampleHelperROSLoadMessages

Считайте сообщение ROS изображений как изображение MATLAB®.

image = readImage(img);

Отобразите изображение.

imshow(image)

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

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

свернуть все

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

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

свернуть все

Отобразите, возвращенный как матрица, представляющая шкалу полутонов или изображение 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

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

| |

Введенный в R2019b