exponenta event banner

Прочитать изображение

Извлечь изображение из сообщения ROS Image

  • Библиотека:
  • Панель инструментов ROS/ROS

  • Read Image Block

Описание

Блок «Считывание изображения» извлекает изображение из ROS Image или CompressedImage сообщение. Можно выбрать параметры сообщения ROS для темы, активной в сети ROS в реальном времени, или указать параметры сообщения отдельно. Сообщения ROS указываются как невиртуальная шина. Используйте вывод блока Subscribe для получения сообщения из сети ROS и введите сообщение в блок Read Image.

Примечание

При чтении сообщений изображения ROS из сети Data свойство сообщения может превышать максимальную длину массива, установленную в Simulink ®. Чтобы увеличить максимальную длину массива, щелкните Инструменты > Управление длиной массива > Операционная система робота, выберите массив данных и увеличьте размер в зависимости от количества точек на изображении.

Порты

Вход

развернуть все

ROS Image или CompressedImage сообщение, указанное как невиртуальная шина. Для получения сообщения из активной сети ROS можно использовать блок Subscribe.

Типы данных: bus

Продукция

развернуть все

Извлеченный сигнал изображения из сообщения ROS, возвращенный в виде матрицы M-by-N-by-3 для цветных изображений и матрицы M-by-N для изображений в градациях серого. Матрица содержит пиксельные данные из Data свойство сообщения ROS.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16

Альфа-канал для изображения, возвращаемый в виде матрицы M-by-N. Эта матрица имеет ту же высоту и ширину, что и изображение, и имеет значения [0 1] для указания непрозрачности каждого соответствующего пикселя, при этом значение 0 является полностью прозрачным.

Примечание

Для CompressedImage сообщения, альфа-канал возвращает все нули, если Show Alpha output port включен.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16

Код ошибки при преобразовании изображения, возвращенный как скаляр. Значения кода ошибки:

  • 0 - Сообщение изображения успешно преобразовано.

  • 1 - Неправильная кодировка изображения. Проверьте, соответствует ли кодировка входящего сообщения ImageEncoding параметр.

  • 2 - Размеры сообщения изображения превышают пределы, указанные в Maximum Image Size параметр.

  • 3- Data поле сообщения изображения было усечено. См. раздел Управление размерами массива для сообщений ROS в Simulink, чтобы увеличить максимальную длину массива.

  • 4 - Сбой распаковки изображения.

Типы данных: uint8

Параметры

развернуть все

Максимальный размер изображения, заданный как двухэлементный [height width] вектор.

Щелкните Настроить с помощью ROS... для автоматического задания этого параметра с использованием активной темы в сети ROS. Вы должны быть подключены к сети ROS.

Кодировка изображения для ввода ImageMsg. Выберите поддерживаемый тип кодирования, соответствующий Encoding свойство сообщения. Дополнительные сведения о типах кодирования см. в разделе readImage.

Переключите порт вывода альфа-канала, если кодировка поддерживает альфа-канал.

Зависимости

Альфа-каналы поддерживаются только определенными типами кодирования. ImageEncoding определяет, отображается ли этот параметр в маске блока.

Переключить ErrorCode порт для отслеживания ошибок.

Переключение выхода сигнала переменного размера. Сигналы переменного размера должны использоваться только в том случае, если ожидается изменение размера изображения с течением времени. Дополнительные сведения о сигналах переменного размера см. в разделе Основы сигналов переменного размера (Simulink).

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

.
Представлен в R2019b