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