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