ROS ubuntu18.04 cv_bridge python3配置 opencv4.4.0

3 篇文章 0 订阅

一、cv_bridge官方文档

http://wiki.ros.org/cv_bridge/Tutorials/ConvertingBetweenROSImagesAndOpenCVImagesPython
调用方式:

from cv_bridge import CvBridge
bridge = CvBridge()
# opencv图像转换为sensor_msgs/Image图像
image_message = bridge.cv2_to_imgmsg(cv_image, encoding="bgr8")
# 把sensor_msgs/Image图像转换为opencv图像
cv_image = bridge.imgmsg_to_cv2(image_message, desired_encoding='bgr8')

二、python3.6配置

2.1 依赖包安装

sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge

2.2 创建工作空间

cd ~ && mkdir cv_bridge_ws

2.3 初始化工作空间

注:出现的红色警告不用管

cd cv_bridge_ws && catkin init

2.4 设置cmake编译选项

# 设置cmake变量(以python3.6为例,注意x86_64_linux-gnu文件夹,如果是aarch64架构它的名字应该是aarch64-linux-gnu)
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so

注:按照自己的路径设置依赖

# 1
python3
>>>import sys
>>>print(sys.executable)   #输出/usr/bin/python3
>>>print(sys.path)  #输出各种路径
>>>quit()
# 2 
python3 -config --includes  #输出所需路径 -I/usr/include/python3.6m -I/usr/include/python3.6m 

2.5 把所有编译好的包放在工作空间的install文件夹下(暂时没有该文件)

catkin config --install

2.6 下载安装包cv_bridge

cd cv_bridge_ws 
git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv

2.7 查找cv_bridge版本

apt-cache show ros-melodic-cv-bridge | grep Version

2.8 在git repo中签出版本(1.13.0)

cd src/vision_opencv/
git checkout 1.13.0
cd ../../

2.9 编译准备

要把src/vision_opencv/cv_bridge/CMakeLists.txt中的find_package(Boost REQUIRED python37)改为find_package(Boost REQUIRED python-py3)

3.0 编译

catkin make

3.1 将功能包加到扩展环境中

source install/setup.bash --extend
sudo gedit ~/.bashrc
#在末尾加上
source ~/cv_bridge_ws/install/setup.bash --extend

参考链接:https://blog.csdn.net/qq_44876051/article/details/112370423
https://blog.csdn.net/weixin_43434136/article/details/112646275#comments_15752476

三、 编译opencv4.4 python3.6 cv_bridge

3.1 依赖安装如上2.1

3.2 初始化并编译工作空间

mkdir -p cv_bridge_ws/src && cd cv_bridge_ws/src
catkin_init_workspace

3.3 编译

cd ../
catkin_make install -DPYTHON_EXECUTABLE=/usr/bin/python3

编译出错:进入报错文件vision_opencv/cv_bridge/CMakeLists.txtCMakeLists.txtpython37 改为 python3

3.4环境变量添加:

使用python3时可以默认调用:

source /home/wyh/cv_bridge_ws/install/setup.bash --extend

3.4便以后不能调用问题

将自己安装的opencv编译生成的build文件路径加入到克隆下来的这个包里的CMakeLists.txt,即/home/wyh/cv_bridge_ws/src/vision_opencv/cv_bridge/CMakeLists.txt修改添加下列语句(详见此文件目录下的CMakeLists.txt文件),最后一句为添加内容

set(_opencv_version 4)
find_package(OpenCV 4 QUIET)
if(NOT OpenCV_FOUND)
  message(STATUS "Did not find OpenCV 4, trying OpenCV 3")
  set(_opencv_version 3)
endif()

set(OpenCV_DIR "/home/wyh/opencv-4.4.0/build")

3.5 使用:

将需要使用cv_bridge的ros包里的CMakeLists.txt文件中添加opencv路径以及cv_bridge路径

set(OpenCV_DIR "/home/wyh/opencv-4.4.0/build")
set(cv_bridge_DIR /home/wyh/cv_bridge_ws/devel/share/cv_bridge/cmake)

参考链接:
https://blog.csdn.net/qq_36814762/article/details/110230127?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-4.no_search_link&spm=1001.2101.3001.4242.3

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值