Преобразуйте данные изображения ROS в изображение MATLAB
преобразует необработанные данные изображения в объекте сообщения, img
= readImage(msg
)msg
, в матрицу изображений, img
. Можно вызвать readImage
использование любого 'sensor_msgs/Image'
или 'sensor_msgs/CompressedImage'
сообщения.
Данные о сообщении ROS изображений хранятся в формате, который не совместим с дальнейшей обработкой изображений в MATLAB®. На основе заданного кодирования эта функция преобразует данные в соответствующее изображение MATLAB и возвращает его в img
.
Сообщения 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
.