遵循初学者cv_bridge教程,不起作用

时间:2019-02-08 21:39:02

标签: c++ ros

我试图将Ros映像桥接到OpenCV,所以我开始使用cv_bridge并遵循了本教程。 http://wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages

我认为我能够使CMakeLists.txt文件正确,并且使用catkin_make确实可以生成可执行文件并运行代码,但是除了使用{时显示为叶主题的节点之外,什么都没有发生{1}}。

但是,我在本教程的行中遇到了一些问题,它说:运行相机或播放bag文件以生成图像流。现在,您可以运行此节点,将“输入”重新映射到实际的图像流主题。

我正在使用Kinect作为图像源,并且已经安装了openni驱动程序,并且可以确认它是否正常运行,例如当我运行rviz或rtabmap点云图像时。

我猜测问题是我没有正确映射发布者和订阅者,因为当我尝试使用image_view查看相机数据是否正在工作时,它返回空白。在命令行中,我输入:rqt_graph但是,我收到此错误:rosrun image_view image_view image:=/camera/rgb/image_color,我认为这是我重命名主题时出错。

在同时运行openni节点和教程文件的GLib-GObject-CRITICAL **: 15:13:13.357: g_object_unref: assertion 'G_IS_OBJECT (object)' failed时,它看起来像这样。

https://imgur.com/fLd69WG

rqt_graph

1 个答案:

答案 0 :(得分:0)

我通过使用rostpic hz [topic]并检查了哪些正在接收相机数据来解决此问题。从那里,我将订阅者更改为image_sub_ = it_.subscribe("camera/rgb/image_color", 1, &ImageConverter::imageCb, this);,并且可以正常使用