Преобразуйте данные изображения 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 размера (требуется Image Processing Toolbox™).
Следующая кодировка для необработанных изображений M-by-N размера поддерживается с помощью 'sensor_msgs/CompressedImage' тип сообщения:
rgb8, rgba8, bgr8, and bgra8: img является rgb изображение размера M-by-N-by-3. Альфа-канал возвращается в alpha. Каждое выходное значение представлено как uint8.