Преобразуйте данные изображения 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
.