2015-12-03 1 views
-1

Я пытаюсь получить структуру данных содержит sensor_msgs :: Image, как член данных, заявленное мной в frame.msgПриемные sensor_msgs :: Image в качестве члена данных в сообщении ROS

std_msgs/Header header 
sensor_msgs/Image color 
geometry_msgs/Vector3 translation 

Однако функцию обратного вызова ниже дает ошибку компиляции "нет функции соответствия для вызова«toCvShare (сопзЬ не _color_type &, Const символ [5])"

void frameCallback(frame_info::frameConstPtr& msg) 
{ 

    cv::imshow("UserInterface", cv_bridge::toCvShare(msg->color, "bgr8")->image); 
    cv::waitKey(1); 
} 

Что может быть проблема?

ответ

1

Согласно documentation есть два варианта toCvShare из которых one потребности

shared_ptr к объекту, владеющей sensor_msgs :: Изображение

и the other

shared_ptr на sensor_msgs :: Изображение

Вы не предоставляете ни одного, ни другого.

В вашем случае, первый вариант должен работать, что ожидает изображения в качестве первого параметра и shared_ptr к объекту, владеющему изображение (которое msg) в качестве второго параметра:

cv_bridge::toCvShare(msg->color, msg, "bgr8") 
Смежные вопросы