我在ROS旋律中使用OpenCV,现在需要使用cv::dnn (深层神经网络),它包括在我安装的OpenCV 4中,并将其设置为我的CMakeLists.txt如下:
find_package(OpenCV 4 REQUIRED )这是在我执行命令:catkin_make命令时收到的警告:
/usr/bin/ld:警告:/opt/ros/ libopencv_imgcodecs.so.3.2 /lib/libcv_brige.so所需的libopencv_imgcodecs.so.4.1可能与libopencv_imgcodecs.so.4.1冲突
我忽略了这一点,但现在不能用opencv运行任何节点。
有人能帮我把OpenCV 4设置在cv_bridge (ROS旋律系统)吗?
提前谢谢。向你问好,乔文。
发布于 2019-11-22 07:41:02
有一个opencv随ROS一起提供,用于与图像相关的东西。一些ROS包(如cv_bridge、image_geometry等)默认使用此opencv。这就是为什么分割错误的原因,因为不同的opencv版本以不同的格式存储图像。
如果要在节点中使用自定义opencv,则必须将这些包包括在工作目录中并进行编译。例如,必须在节点的cmakelist中包括桥源代码。
发布于 2021-06-10 09:00:47
一个简单的解决方案是从vision_opencv下载一个合适的opencv/发行版版本。然后将内容(包含一些包cv_bridge image_geometry opencv_tests vision_opencv)解压缩到catkin工作区中名为vision_opencv的src文件夹中。
现在,catkin_make或catkin build您的工作区和必要的ros包将编译并链接到本地vision_opencv文件夹。在此之前,您可能需要清理工作区。
https://stackoverflow.com/questions/58978543
复制相似问题