how to set up opencv in ros indigo
hey guys, i have problems with using opencv in ros. i followed the cvbridge tutorial but when catkinmake. it gives me strange error. How did you setup Cmakelist file and package.xml? How to add dependency for opencv2 . The tutorial is not clear on this
> "CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `ImageConverter::ImageConverter()':
> color.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x8f):
> undefined reference to
> `image_transport::ImageTransport::ImageTransport(ros::NodeHandle
> const&)'
> color.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x375):
> undefined reference to
> `image_transport::ImageTransport::advertise(std::string
> const&, unsigned int, bool)'
> color.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x584):
> undefined reference to
> `image_transport::ImageTransport::~ImageTransport()'
> CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `ImageConverter::~ImageConverter()':
> color.cpp:(.text._ZN14ImageConverterD2Ev[_ZN14ImageConverterD5Ev]+0x49):
> undefined reference to
> `image_transport::ImageTransport::~ImageTransport()'
> color.cpp:(.text._ZN14ImageConverterD2Ev[_ZN14ImageConverterD5Ev]+0x9a):
> undefined reference to
> `image_transport::ImageTransport::~ImageTransport()'
> CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `ImageConverter::imageCb(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&)':
> color.cpp:(.text._ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x3f):
> undefined reference to
> `cv_bridge::toCvCopy(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&, std::string const&)'
> color.cpp:(.text._ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x187):
> undefined reference to
> `cv_bridge::CvImage::toImageMsg()
> const'
> color.cpp:(.text._ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x1ba):
> undefined reference to
> `image_transport::Publisher::publish(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&) const'
> CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `image_transport::Subscriber
> image_transport::ImageTransport::subscribe<ImageConverter>(std::string
> const&, unsigned int, void
> (ImageConverter::*)(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&), ImageConverter*, image_transport::TransportHints
> const&)':
> color.cpp:(.text._ZN15image_transport14ImageTransport9subscribeI14ImageConverterEENS_10SubscriberERKSsjMT_FvRKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEEEPS6_RKNS_14TransportHintsE[_ZN15image_transport14ImageTransport9subscribeI14ImageConverterEENS_10SubscriberERKSsjMT_FvRKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEEEPS6_RKNS_14TransportHintsE]+0xa4):
> undefined reference to
> `image_transport::ImageTransport::subscribe(std::string
> const&, unsigned int,
> boost::function<void
> (boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&)> const&, boost::shared_ptr<void> const&,
> image_transport::TransportHints
> const&)'
> collect2: error: ld returned 1 exit status
> make[2]: *** [/home/dmngu9/fyp_ws/devel/lib/color_tracking/color]
> Error 1
> make[1]: *** [color_tracking/CMakeFiles/color.dir/all]
> Error 2
> make: *** [all] Error 2
> Invoking "make -j4 -l4" failed
> "
Asked by dmngu9 on 2015-05-08 22:00:37 UTC
Comments
ros indigo uses opencv3 not opencv2
Asked by Hamid Didari on 2015-05-10 08:04:29 UTC
can you also post your CMakeFiles.txt and package.xml
Asked by Mehdi. on 2015-05-10 16:24:47 UTC
i had it working now. Thanks
Asked by dmngu9 on 2015-05-10 20:14:28 UTC
@dmngu9 you could answer your own question and explain how you made it work for future users.
Asked by Mehdi. on 2015-05-12 03:39:49 UTC
I seem to have a similar problem, where I have "undefined reference to cv..." build error message when I used rosmake on some fuerte package on ROS indigo. Could you please describe how you have solved your problem?
Asked by cvcook on 2015-11-29 22:13:08 UTC
Hi, I got the same problem. Can you post your solution? Thank you very much.
Asked by Robert Delong on 2015-12-22 21:20:41 UTC
i forgot how to solve it now. its been a long time ago
Asked by dmngu9 on 2015-12-22 22:14:02 UTC
@dmngu9 and that is why you should always answer your own question if you solve your problems !!
Asked by Mehdi. on 2015-12-23 04:55:44 UTC