writeImage

Запишите изображение MATLAB в сообщение ROS изображений

Синтаксис

writeImage(msg,img)
writeImage(msg,img,alpha)

Описание

пример

writeImage(msg,img) преобразовывает изображение MATLAB®, img, к объекту сообщения и хранит ROS совместимые данные изображения в объекте сообщения, msg. Сообщение должно быть сообщением 'sensor_msgs/Image'. сообщения 'sensor_msgs/CompressedImage' не поддержаны. Функция не выполняет преобразования цветового пространства, таким образом, вход img должен иметь кодирование, которое вы задаете в свойстве Encoding сообщения.

writeImage(msg,img,alpha) преобразовывает изображение MATLAB, img к объекту сообщения. Если кодирование изображений поддерживает альфа-канал (rgba или семейство bgra), задайте этот альфа-канал в alpha. Также входное изображение может сохранить альфа-канал как свой четвертый канал.

Примеры

свернуть все

Считайте изображение.

image = imread('imageMap.png');

Создайте сообщение ROS изображений. Задайте кодировку по умолчанию для изображения. Запишите изображение в сообщение.

msg = rosmessage('sensor_msgs/Image');
msg.Encoding = 'rgb8';
writeImage(msg,image);

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

свернуть все

ROS 'sensor_msgs/Image' отображает сообщение, заданное как указатель на объект Image. сообщения 'sensor_msgs/Image' изображений не поддержаны.

Отобразите, заданный как матрица, представляющая шкалу полутонов или изображение RGB или как am n 3 массивами, в зависимости от изображения датчика.

Альфа-канал, заданный как полутоновое изображение uint8. Альфа должна быть одного размера и тип данных как img.

Советы

Необходимо задать правильное кодирование входного изображения в свойстве Encoding сообщения изображений. Если вы не задаете изображение, кодирующее прежде, чем вызвать функцию, кодировка по умолчанию, rgb8, используется (изображение RGB с 3 каналами с uint8 значениями). Функция не выполняет преобразования цветового пространства, таким образом, вход img должен иметь кодирование, которое вы задаете в свойстве Encoding сообщения.

Все типы кодировки, поддержанные для readImage, также поддержаны в этой функции. Для получения дополнительной информации о поддерживаемых типах кодировки и их представительствах в MATLAB, смотрите readImage.

Закодированные Байером изображения (bayer_rggb8, bayer_bggr8, bayer_gbrg8, bayer_grbg8 и их 16-битные эквиваленты) должны быть даны как 8-битные или 16-битные одноканальные изображения, или они не кодируют.

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

Представленный в R2015a