我正在尝试接收包含sensor_msgs :: Image作为数据成员的数据结构,如我在frame.msg中声明的那样
std_msgs/Header header
sensor_msgs/Image color
geometry_msgs/Vector3 translation
但是下面的回调函数给出了编译错误 "没有匹配函数来调用'toCvShare(const _color_type&,const char [5])"
void frameCallback( frame_info::frameConstPtr& msg)
{
cv::imshow("UserInterface", cv_bridge::toCvShare(msg->color, "bgr8")->image);
cv::waitKey(1);
}
可能是什么问题?
答案 0 :(得分:1)
根据documentation,toCvShare
需要msg
的两种变体
拥有sensor_msgs :: Image
的对象的shared_ptr
和one
到sensor_msgs :: Image消息的shared_ptr
你既不提供也不提供其他人。
在你的情况下,第一个选项应该有效,它希望图像作为第一个参数,而拥有图像的对象的shared_ptr(cv_bridge::toCvShare(msg->color, msg, "bgr8")
)作为第二个参数:
result