Read Image

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

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

  • Read Image ROS 2

Описание

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

Примечание

Когда чтение ROS 2 отображает сообщения от сети, Data свойство сообщения может превысить максимальный набор длины массива в Simulink®. Выполните шаги ниже, чтобы увеличить максимальную длину массива для всех типов сообщений в модели:

  1. Включите опции ROS путем выбора приложения Robot Operating System (ROS) под вкладкой Apps и сконфигурируйте параметры сети ROS соответственно.

  2. От раздела Prepare под вкладкой Simulation выберите ROS Toolbox> Variable Size Messages.

  3. Снимите флажок с Use default limits for this message type и затем в столбце Maximum length, увеличьте длину на основе количества пикселей в изображении.

Порты

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

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

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

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

Вывод

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

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

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

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

Примечание

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

Зависимости

Включите Show Alpha output port параметр.

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

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

  • 0 — Успешно преобразованный сообщение изображений.

  • 1 — Неправильное кодирование изображений. Проверяйте что входящее сообщение, кодирующее соответствия параметр Кодирования Изображений.

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

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

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

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

Параметры

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

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

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

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

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

Зависимости

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

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

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

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

Введенный в R2021b
Для просмотра документации необходимо авторизоваться на сайте