首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROS节点中OpenCV 4与cv_bridge的冲突

ROS节点中OpenCV 4与cv_bridge的冲突
EN

Stack Overflow用户
提问于 2021-11-26 16:00:03
回答 1查看 784关注 0票数 1

我正在用OpenCV启动一个带有ROS的项目,我需要使用opencv_contrib中的xfeatures2d。我遵循本指令并以这种方式修改我的CMake文件:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.0.2)
project(visual_odometry)

find_package(catkin REQUIRED COMPONENTS
  cv_bridge
  image_transport
  roscpp
  rospy
  sensor_msgs
  nav_msgs
  geometry_msgs
  std_msgs
)

find_package(OpenCV 4 REQUIRED) 

catkin_package()

include_directories(
# include  
  ${catkin_INCLUDE_DIRS}
  ${OpenCV_INCLUDE_DIRS}
)

add_executable(show_image src/show_image.cpp)
target_link_libraries(show_image 
${catkin_LIBRARIES}
${OpenCV_LIBRARIES})

add_executable(show_video src/show_video.cpp)
target_link_libraries(show_video 
${catkin_LIBRARIES}
${OpenCV_LIBRARIES})

add_executable(visual_Odometry src/visual_Odometry.cpp)
target_link_libraries(visual_Odometry 
${catkin_LIBRARIES}
${OpenCV_LIBRARIES})

catkin_make之后:

代码语言:javascript
复制
/usr/bin/ld: warning: libopencv_imgproc.so.4.5, needed by /usr/local/lib/libopencv_xfeatures2d.so.4.5.3, may conflict with libopencv_imgproc.so.3.2

在运行时,imgproc的一些功能(如CLAHE算法)不能工作,而我的节点停止工作。

当我使用catkin_make构建时,cv_bridge发现opencv3.2默认设置为ros,但由于CMake文件,我的节点找到了opencv4。我能修好这个吗?可以在opencv3.2a opencv_contrib中构建吗?是否有可能在cv_bridge中更改opencv的版本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-02 14:19:01

我在Github中找到了一个解决方案

在catkin_ws/src中:

代码语言:javascript
复制
git clone https://github.com/fizyr-forks/vision_opencv/tree/opencv4
cd vision_opencv
git checkout opencv4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70127095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档