Преобразование данных изображения ROS в изображение MATLAB
преобразует необработанные данные изображения в структуре сообщения, img = rosReadImage(msg)msg, в матрицу изображения, img. Вы можете позвонить rosReadImage с использованием одного из 'sensor_msgs/Image' или 'sensor_msgs/CompressedImage' сообщения.
Данные сообщения изображения ROS хранятся в формате, который несовместим с дальнейшей обработкой изображения в MATLAB ®. На основе указанной кодировки эта функция преобразует данные в соответствующее изображение MATLAB и возвращает его вimg.
задает кодировку сообщения изображения в качестве аргумента «имя-значение» с использованием любого из предыдущих входных аргументов. Если msgOut = rosReadImage(___,"Encoding",encodingParam)Encoding поле сообщения не установлено, используйте этот синтаксис для установки поля.
Сообщения изображения ROS могут иметь различные кодировки. Кодировки, поддерживаемые для изображений, различны для 'sensor_msgs/Image' и 'sensor_msgs/CompressedImage' типы сообщений. Поддерживается меньшее количество сжатых изображений. Следующие кодировки для необработанных изображений размера M-by-N поддерживаются с помощью 'sensor_msgs/Image' тип сообщения ('sensor_msgs/CompressedImage' поддержка выделена жирным шрифтом):
rgb8, rgba8, bgr8, bgra8: img является rgb изображение размерного M-by-N-by-3. Альфа-канал возвращается в alpha. Каждое значение в выходных данных представлено как uint8.
rgb16, rgba16, bgr16, and bgra16: img - RGB-изображение M-by-N-by-3 размера. Альфа-канал возвращается в alpha. Каждое значение в выходных данных представлено как uint16.
mono8 изображения возвращаются в виде изображений в градациях серого с размером M-by-N-by-1. Каждое значение пикселя представлено как uint8.
mono16 изображения возвращаются в виде изображений в градациях серого с размером M-by-N-by-1. Каждое значение пикселя представлено как uint16.
32fcX изображения возвращаются в виде изображений с плавающей запятой размером M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как single.
64fcX изображения возвращаются в виде изображений с плавающей запятой размером M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как double.
8ucX изображения возвращаются в виде матриц размера M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как uint8.
8scX изображения возвращаются в виде матриц размера M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как int8.
16ucX изображения возвращаются в виде матриц размера M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как int16.
16scX изображения возвращаются в виде матриц размера M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как int16.
32scX изображения возвращаются в виде матриц размера M-by-N-by-D, где D равно 1, 2, 3 или 4. Каждое значение пикселя представлено как int32.
bayer_X изображения возвращаются либо как матрицы Байера размера M-by-N-by-1, либо как преобразованное изображение размера M-by-N-by-3 (требуется Toolbox™ обработки изображений).
Следующая кодировка для необработанных изображений размера M-by-N поддерживается с помощью 'sensor_msgs/CompressedImage' тип сообщения:
rgb8, rgba8, bgr8, and bgra8: img является rgb изображение размерного M-by-N-by-3. Альфа-канал возвращается в alpha. Каждое выходное значение представлено как uint8.