如何修复Simple Image Publisher(C)的“make”步骤中的错误?

时间:2013-10-24 23:31:53

标签: image ros publisher

我正在研究ROS groovy,我想编写一个简单图像发布者(C ++),如http://wiki.ros.org/image_transport/Tutorials/PublishingImages中所述。当我想制作包时,我面临如下错误。 我该如何解决问题?

... [100%]构建CXX对象CMakeFiles / my_publisher.dir / src / my_publisher.cpp.o /home/fatima/learning_image_transport/src/my_publisher.cpp:在函数'int main(int,char **)'中: /home/fatima/learning_image_transport/src/my_publisher.cpp:17:44:错误:'sensor_msgs :: CvBridge'尚未声明 make [3]: * [CMakeFiles / my_publisher.dir / src / my_publisher.cpp.o]错误1 make [3]:离开目录/home/fatima/learning_image_transport/build' make[2]: *** [CMakeFiles/my_publisher.dir/all] Error 2 make[2]: Leaving directory / home / fatima / learning_image_transport / build' make [1]:* [all]错误2 make [1]:离开目录`/ home / fatima / learning_image_transport / build' make: * [all]错误2

谢谢, 萨米拉

1 个答案:

答案 0 :(得分:0)

您是否添加了以下依赖项? sensor_msgs,cv_bridge,std_msgs,image_transport到你的包裹?

我相信这个例子已经过时了。我假设你包含了<cv_bridge/CvBridge.h>,但 groovy 中的文件应该在<cv_bridge/cv_bridge.h>找到。

除此之外,IplImage是用C语言编写的旧版OpenCV的一部分。较新的版本支持C ++,您可以使用cv :: Mat作为图像。 cv :: Mat更容易处理。

查看本教程CvBridge using cv::Mat。它显示了如何将ros图像转换为opencv图像,反之亦然。 cv :: Mat包含在cv_bridge :: CvImage包装类中。