Преобразуйте данные изображения ROS в изображение MATLAB
img = readImage(msg)
[img,alpha]
= readImage(msg)
преобразовывает необработанные данные изображения в объекте сообщения, img
= readImage(msg
)msg
, в матрицу изображений, img
. Можно вызвать readImage
с помощью или 'sensor_msgs/Image'
или сообщений 'sensor_msgs/CompressedImage'
.
Данные о сообщении ROS изображений хранятся в формате, который не совместим с дальнейшей обработкой изображений в MATLAB®. На основе заданного кодирования эта функция преобразовывает данные в соответствующее изображение MATLAB и возвращает его в img
.
Сообщения ROS изображений могут иметь различную кодировку. Кодировка, поддержанная для изображений, отличается для типов сообщений 'sensor_msgs/CompressedImage'
и 'sensor_msgs/Image'
. Поддерживаются менее сжатые изображения. Следующая кодировка для необработанных изображений размера, M xN поддерживается с помощью типа сообщения 'sensor_msgs/Image'
(поддержка 'sensor_msgs/CompressedImage'
полужирным):
rgb8, rgba8, bgr8, bgra8
: img
является изображением rgb
размера M xNx3. Альфа-канал возвращен в alpha
. Каждое значение в выходных параметрах представлено как uint8
.
rgb16, rgba16, bgr16, bgra16
: img
является изображением RGB размера M xNx3. Альфа-канал возвращен в alpha
. Каждое значение в выходных параметрах представлено как uint16
.
Изображения mono8
возвращены как полутоновые изображения размера M xNx1. Каждое пиксельное значение представлено как uint8
.
Изображения mono16
возвращены как полутоновые изображения размера M xNx1. Каждое пиксельное значение представлено как uint16
.
Изображения 32fcX
возвращены как изображения с плавающей точкой размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как single
.
Изображения 64fcX
возвращены как изображения с плавающей точкой размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как double
.
Изображения 8ucX
возвращены как матрицы размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как uint8
.
Изображения 8scX
возвращены как матрицы размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int8
.
Изображения 16ucX
возвращены как матрицы размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int16
.
Изображения 16scX
возвращены как матрицы размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int16
.
Изображения 32scX
возвращены как матрицы размера M xNxD, где D равняется 1, 2, 3, или 4. Каждое пиксельное значение представлено как int32
.
Изображения bayer_X
возвращены или как матрицы Байера размера M xNx1, или как преобразованное изображение размера M xNx3 (Image Processing Toolbox™ требуется).
Следующее кодирование для необработанных изображений размера M xN поддерживается с помощью типа сообщения 'sensor_msgs/CompressedImage'
:
rgb8, rgba8, bgr8, bgra8
: img
является изображением rgb
размера M xNx3. Альфа-канал возвращен в alpha
. Каждое выходное значение представлено как uint8
.