Robotics StackExchange | Archived questions

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

Answers