栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Ubuntu16.04 不使用ROS自带的OpenCV

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu16.04 不使用ROS自带的OpenCV

Ubuntu 使用自己安装的OpenCV,不使用默认ROS提供的。

由于ROS自带的OpenCV中不支持opencv_contrib等库,而且在系统中安装了ROS,在cmake编译时自动就会去寻找ROS自带的opencv。即使能够cmake .. 成功,在执行make操作时仍然会报错。

具体操作过程: 1、安装cv_bridge

1.1下载

由于我的Ubuntu版本为16.04,对应的ROS版本为kinetic,下面我给出该版本的下载链接

kinetic-cv_bridge阿里云下载链接 提取码: p06k

如果Ubuntu为其他版本,请从以下链接的分支中选取适合自己版本的cv_bridge。

GIthub链接

下载后,可以将其放置在/home/用户名/ 文件夹下,当然其他的也可以,然后执行以下操作

cd /home/syd/cv_bridge

1.2修改CMakeLists.txt,只需要修改两行

#这几行是原来就有的
find_package(OpenCV 3 REQUIRED
  COMPONENTS
    opencv_core
    opencv_imgproc
    opencv_imgcodecs
  CONFIG
)
#在其上方添加一行  这里是自己安装的opencv的路径
set(OpenCV_DIR "/home/syd/opencv")
#并修改第一行,这里是自己安装的opencv版本
find_package(OpenCV 3.4.10 REQUIRED
  COMPONENTS
    opencv_core
    opencv_imgproc
    opencv_imgcodecs
  CONFIG
)

1.3安装

注意:还是在/home/syd/cv_bridge目录下,顺序执行以下命令:

CMAKE_INSTALL_PREFIX=/usr/local/cv_bridge-3.4.10 这里是安装路径,可以自行修改

mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr/local/cv_bridge-3.4.10 ..
sudo make -j8
sudo make install

很快就会安装完毕!

2、使用

下面就可以使用自己安装的opencv版本了,可以在CMakeLists.txt中添加以下内容:

#这里的路径是上一步安装的路径
set(cv_bridge_DIR /usr/local/cv_bridge-3.4.10/share/cv_bridge/cmake)
#设置opencv路径
SET(OpenCV_DIR  "/home/syd/opencv")
#版本号
find_package(OpenCV 3.4.10 REQUIRED)

这样就可以顺利的进行编译了,同时也可以使用opencv_contrib库了。

到此就结束了。。。

如果还在ROS工程有需要的话,可以添加以下内容:(有些包可能在编译的时候会报错,如果不需要的话,可以将其注释掉,比如camera_models)

find_package(catkin REQUIRED COMPONENTS
    message_generation
    message_runtime
    roscpp
    std_msgs
    geometry_msgs
    nav_msgs
    tf
    cv_bridge #添加
    #camera_models
    image_transport
    nodelet
    message_filters
)

笔者水平有限,若有不足之处,请多多包涵 !

参考

ROS工程不使用ROS自带的OpenCV
Ubuntu16.04安装ROS Kinetic详细过程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923562.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号