Начиная работать с
ROS, я несколько раз читал на форумах вопросы о том, как работать с изображением, которое приходит с камеры ROS (sensor_msgs/Image.msg). Давайте разберем один из способов.
Формат его может быть несколько непривычен (ознакомится с ним вы можете на
ссылке). Однако работать с этим форматом не сложнее чем с любым двумерным массивом.
Для базовых операций нам понадобятся поля height, step и data. Дальше, если вы привыкли представлять изображение как матрицу, то height - представляет собой количество строк в изображении, step количество столбцов. Цвет пикселя находится в значениях data, содержащей значения R, G, B. Таким образом в каждой строке на один пиксель приходится три идущих подряд значениях. На рисунке к этой статье это изображено подробно в виде матрицы. После этого вы можете анализировать изображение исходя из ваших задач. Для примера: у меня было изображение 800х800 и step 2400 (step / width == 3).