Read Image

Извлеките изображение из сообщения ROS Изображений

  • Библиотека:
  • ROS Toolbox / ROS

  • Read Image ROS 1

Описание

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

Примечание

Когда чтение ROS отображает сообщения от сети, Data свойство сообщения может превысить максимальный набор длины массива в Simulink®. Чтобы увеличить максимальную длину массива для всех типов сообщений в модели, от раздела Prepare под вкладкой Simulation, выбирают ROS Toolbox > Variable Size Messages. Снимите флажок с Use default limits for this message type и затем в столбце Maximum length, увеличьте длину на основе количества пикселей в изображении.

Порты

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

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

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

Типы данных: 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 — Неправильное кодирование изображений. Проверяйте что входящее сообщение, кодирующее соответствия параметр Кодирования Изображений.

  • 2 — Размерности сообщения изображений превышают пределы, заданные в Максимальном параметре Размера изображения.

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

  • 4 — Отобразите отказавшую распаковку.

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

Параметры

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

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

Нажмите Configure using ROS, чтобы установить этот параметр автоматически с помощью активной темы в сети ROS. Вы должны быть соединены с сетью ROS.

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

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

Зависимости

Только определенные типы кодировки поддерживают альфа-каналы. Параметр Кодирования Изображений определяет, появляется ли этот параметр в маске блока.

Переключите порт ErrorCode к ошибкам монитора.

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

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

Введенный в R2019b