ROS 下使用Opencv4.4.0,并且使用cv_bridge转换msgs 与 opencv图像

Opencv4.4.0安装

参考 https://blog.csdn.net/weixin_43436587/article/details/107622477

在Opencv4.4.0 中使用cv_bridge转换msgs 与 opencv图像

参考https://blog.csdn.net/bigdog_1027/article/details/79092263

步骤按参考链接进行,下边是我更改的两处地方,供参考

#############orial version#####
#if(NOT "include;/opt/ros/kinetic/include/opencv-3.3.1-dev;/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv " STREQUAL " ")
  #set(cv_bridge_INCLUDE_DIRS "")
  #set(_include_dirs "include;/opt/ros/kinetic/include/opencv-3.3.1-dev;/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv")

############changed version 4.4.0
if(NOT "include;/usr/local/include/opencv4 " STREQUAL " ")
  set(cv_bridge_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/local/include/opencv4;/usr/local/include;/usr/include")




################orial opencv version####
#set(libraries "cv_bridge;/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_core3.so.3.3.1;/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_imgproc3.so.3.3.1;/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_imgcodecs3.so.3.3.1")

################changed opencv4.4.0##
#;/usr/local/lib/opencv_dnn_superres.so.4.4.0;/usr/local/lib/opencv_dnn_objdetect.so.4.4.0;/usr/local/lib/opencv_dnn.so.4.4.0
set(libraries "cv_bridge;/usr/local/lib/libopencv_core.so.4.4.0;/usr/local/lib/libopencv_imgproc.so.4.4.0;/usr/local/lib/libopencv_imgcodecs.so.4.4.0;/usr/local/lib/libopencv_calib3d.so.4.4.0;/usr/local/lib/libopencv_highgui.so.4.4.0")

cv_bridge-extras.cmake 修改

#set(OpenCV_VERSION 3.3.1)
#set(OpenCV_VERSION_MAJOR 3)
#set(OpenCV_VERSION_MINOR 3)
#set(OpenCV_VERSION_PATCH 1)
#set(OpenCV_SHARED ON)
#set(OpenCV_CONFIG_PATH /opt/ros/kinetic/share/OpenCV-3.3.1-dev)
#set(OpenCV_INSTALL_PATH /opt/ros/kinetic)
#set(OpenCV_LIB_COMPONENTS opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_viz;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cvv;opencv_datasets;opencv_dpm;opencv_face;opencv_fuzzy;opencv_hdf;opencv_img_hash;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto)
#set(OpenCV_USE_MANGLED_PATHS TRUE)
#set(OpenCV_MODULES_SUFFIX )

set(OpenCV_VERSION 4.4.0)
set(OpenCV_VERSION_MAJOR 4)
set(OpenCV_VERSION_MINOR 3)
set(OpenCV_VERSION_PATCH 13)
set(OpenCV_SHARED ON)
set(OpenCV_CONFIG_PATH /usr/local/share/opencv4)
set(OpenCV_INSTALL_PATH /usr/local/)
set(OpenCV_LIB_COMPONENTS opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_viz;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cvv;opencv_datasets;opencv_dpm;opencv_face;opencv_fuzzy;opencv_hdf;opencv_img_hash;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto)
set(OpenCV_USE_MANGLED_PATHS TRUE)
set(OpenCV_MODULES_SUFFIX )
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用的命令 `catkin_create_pkg` 是用于创建一个新的 ROS 包。根据您提供的参数,您创建了一个名为 `image_processing` 的 ROS 包,并指定了一些依赖项。 这个命令将在当前工作目录中创建一个名为 `image_processing` 的文件夹,并在其中生成一些必要的文件和目录结构,以创建一个基本的 ROS 包。 您指定的依赖项包括: - `rospy`: 这是 ROS 的 Python 客户端库,用于编写 ROS 节点和处理 ROS 消息。 - `std_msgs`: 这是 ROS 中定义的标准消息类型包,包括常见的数据类型如字符串、整数、浮点数等。 - `rostime`: 这是 ROS 中用于处理时间的库,提供了与时间相关的功能。 - `opencv`: 这是一个流行的开源计算机视觉库,用于图像处理和计算机视觉任务。 - `Image`: 这是 ROS 中用于图像传输的消息类型。 - `cv_bridge`: 这是一个 ROS 包,用于在 ROSOpenCV 之间进行图像数据转换。 - `pyzbar`: 这是一个 Python 库,用于解码二维码。 通过创建这个包并指定这些依赖项,您可以开始使用 ROSOpenCV 进行图像处理,并使用 `rospy` 和其他相关库进行 ROS 节点开发。 请注意,在运行 `catkin_create_pkg` 命令之后,您可能需要在生成的 `CMakeLists.txt` 文件中添加额外的配置和构建指令,以满足您的具体需求。 希望这能帮助您开始使用 `image_processing` 包进行图像处理和 ROS 开发!如果您有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值