Ubuntu16.04_ROS_kinetic下如何使用OpenCV2.4进行编译
1、背景
由于之前是在ROS indigo下编译相关的包的,而且indigo默认使用OpencCV2.4.8进行编译,所以相关的自己写的一些package都是基于OpenCV2.4实现的;由于自己买了新电脑,Ubuntu14.04各种对新电脑硬件支持不好;被迫无奈用Ubuntu16.04,由于ubuntu16不支持ROS-indigo,所以自然而然的用了ROS-kinetic;最终本能的反应就是在ROS-kinetic下编译自己之前相关的包;但是由于ROS-kinetic默认使用OpenCV3.2.0,导致自己的包不能顺利编译通过,作为一个研发狗,哪能容忍有这么big的一个bug存在;翻遍了国内的所有解决方案,没一个能解决问题的,那么下面重点来了,这里寄出终极杀招,各位还没出坑的小伙伴接招吧!
2、解决方案
步骤 1) 下载ROS package 包opencv2_catkin和catkin_simple,也可以直接 利用git clone + 网址下载下来,直接点开两个包的超链接即可到达网址;
步骤 2)建立ROS工作空间OpenCV2_ws,相信对来看这个博客的小伙伴都很容易,这里不再多说;
步骤 3)把步骤 1)下载好的两个package放到OpenCV2_ws工作空间下;
步骤 4) catkin_make进行编译,特别值得注意的是,cakin_make过程中会自动下载opencv2.4.13,而且下载经常中断,这时候你要保证200%的耐心,Ctrl+C停止编译同时再次catkin_make,直至下载进度条100%完成,同时会启动自动编译;此过程您启动catkin_make十次以上或者更多纯属正常;如下面附图所示:
步骤 5)将你要编译的package例如leg_detection放入OpenCV2_ws这个空间;
步骤 6)同时在你的包例如leg_detection的cmakelist.txt文件中加入
find_package(catkin REQUIRED COMPONENTS
opencv2_catkin
)<build_depend>opencv2_catkin</build_depend>
<run_depend>opencv2_catkin</run_depend>步骤 8)此时您便可以愉快的直接在终端输入catkin_make编译您的package了, 如下图
3、总结
因为国内相关的解决资料太少,本人也花了半天的时间解决此bug,希望能对后面各位遇到这个bug的小伙伴有所帮助;同事其他包的编译同理,只需把opencv2_ws下的相关文件拷贝到对应的空间下即可,这个问题就留给各位小伙伴可以自行摸索吧!
智能推荐
Ubuntu 16.04 安装 ROS Kinetic Kame
ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。它包含了一系列的软件库和工具用于构建机器人应用。从驱动到最先进的算法,以及强大的开发者工具,ROS 包含了开发一个机器人项目所需要的所有东西。且它们都是开源的。 ROS...
Ubuntu16.04安装ROS kinetic
Ubuntu16.04安装ROS kinetic 介绍 详细介绍可参考官网: http://wiki.ros.org/kinetic/Installation/Ubuntu 1. 配置Ubuntu软件仓库(configure your ubuntu repositories) 在桌面点击“Ubuntu Software”,选择“software & up...
Ubuntu16.04安装ROS Kinetic
1.软件源设置 打开系统设置 打开“软件和更新” 点击“下载自”,弹出如下界面,点击“选择最佳服务器”,重新寻找最佳ROS镜像网站 选择重新载入新的镜像源 2.设置sources.list 3. 设置key(公钥已更新) 4.更新package 5.安装ROS kinetic完整版 6.初始化rosdep 7.配置ROS环境 ...
ubuntu 16.04 ros kinetic版本安装
官方安装链接:http://wiki.ros.org/Installation/Ubuntu?distro=kinetic ubuntu16.04版本镜像官方下载连接:http://cn.ubuntu.com/download/ ros卸载命令:$ sudo apt-get remove ros-kinetic-* 配置Ubuntu仓库: 2. 打开终端添加安装源: 或者国内的源: 设置密匙: 软...
CSS3边框和圆角 学习打卡
课程介绍 1、CSS3圆角 2、CSS3盒阴影 3、CSS3边界图片 CSS3圆角 1、border-radius:一个最多可以指定四个border-*-radius属性的复合属性,为元素添加圆角边框 2、语法:border-radius:1-4 length|%/1-4 length|% 3、兼容:IE9+ firefox4+ chrome safari5+ opera CSS3指定每一个圆角 ...
猜你喜欢
(Java)反射的应用 - 取得类的结构
文章目录 一、基本概念 二、取得所实现的全部接口 三、取得父类 四、取得全部构造方法 五、取得全部方法 六、取得全部属性 一、基本概念 在反射机制中,还可以通过反射得到一个类的完整结构,这就需要使用 java.lang.reflect 包中的以下几个类: 这三个类都是 AccessibleObject 类的子类: 二、取得所实现的全部接口 要取得一个类所实现的全部接口,必须使用 Class 类中的...
ORM-外键关联基本使用
外键 在Mysql中,外键可以让表之间关系变得更加紧密, 在SQlAlchemy中, 通过ForeignKey类来实现,并且可以指定表的外键约束 FroeignKey的导入 在从表中条件一个模型类.字段(属性)即可 外键关联的代码和示例图 图说明 外键约束的删除 如果删除了主表中的数据, 从表的数据会怎么样? 需要设置 "RESTRICT" : 主表数据被删除, 会阻止删除 &...
Linux操作心得(1)
Ubuntu 16.04 (1)今天遇到一个蜜汁尴尬的情况,一本书上的示例,要求我建一个文件夹及子文件夹,然而明明创建的文件却没有显示 按书上此时应该出现一个文件夹,但并没有: 但可以进入,作为小白看不懂,后来发现是因为/XX指的是将文件建立在根目录了,因此不管怎样,就算用ls,或ll命令都查不到的,此时正确方法应该是去掉/backup前的/,如图就解决了文件夹的创建过程,还有一种傻瓜式方法就是直...
如何写出优美的 JavaScript 代码?
作者:尹锋 链接:https://www.zhihu.com/question/20635785/answer/223515216 1,避免使用 js 糟粕和鸡肋 这些年来,随着 HTML5 和 Node.js 的发展,JavaScript 在各个领域遍地开花,已经从“世界上最被误解的语言”变成了“世界上最流行的语言”。但是由于历史原因,JavaSc...
