Read Image

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

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

  • Read Image Block

Описание

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

Примечание

При чтении сообщений изображений ROS из сети Data свойство сообщения может превысить максимальную длину массива, установленную в Simulink®. Чтобы увеличить максимальную длину массива, щелкните Tools > Manage Array Lengths > Robot Operating System, выберите массив Data и увеличьте размер на основе числа точек в изображении.

Порты

Вход

расширить все

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

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

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

  • 4 - Не удалось выполнить декомпрессию изображения.

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

Параметры

расширить все

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

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

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

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

Зависимости

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

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

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

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

.
Введенный в R2019b