Ubuntu环境下ROS安装自己OPENCV版本(下)

简介: Ubuntu环境下ROS安装自己OPENCV版本(下)

(2)除了上面去掉cv_bridge手动指定路径外。还有一种方法就是修改cv_bridge的配置文件,使得cv_bridge去调用我们自己安装的OpenCV版本,具体方式如下。


首先打开终端并进入cv_bridge配置文件所在目录,并用gedit指令打开该配置文件。


$ cd /opt/ros/kinetic/share/cv_bridge/cmake/
$ sudo gedit cv_bridgeConfig.cmake

20200504165949941.png


然后按ctrl+f,输入关键词include找到以下内容并按图中的方式进行修改。


20200504170009965.png


将默认的OpenCV头文件目录替换后,再按ctrl+f并输入关键词libraries可以找到下图的区域,我们将其库文件也进行替换。


20200504170218252.png


与头文件直接写入目录的方式不同,库文件是将文件本身也写入到配置文件中。而OpenCV的库文件有很多种,如下图所示。


20200504170101987.png


所以我们通常都将core、highgui、imgproc等常用的库文件写入到配置文件中,万一遇到要用的函数的库文件没有包含在配置文件中只要手动添加就可以。


修改cv_bridge的配置文件结束后,我们只需要在工程的CMakeLists.txt文件中的find_package加入cv_bridge就能够使用自己安装的OpenCV版本。不需要再像(1)方法中那样手动指定路径,而且这样做的好处就是能够使用cv_bridge。因为该包在OpenCV图像与ROS图像之间的转换中会经常用到。


20200504170336764.png


这时候再编译工程就可以通过了,但奇怪的是我们发现编译输出OpenCV的版本还是3.3.1并且配置文件还是默认的OpenCV3,如下图所示。


20200504170357313.png


然后我在cv_bridge配置文件中输入message(STATUS “opencv version: ${OpenCV_VERSION}”)来寻找哪条语句将OpenCV的版本号改回了ROS默认的版本。最终,在配置文件的最后几行的一条语句下面会出现版本号从Opencv 2.4.13变成Opencv 3.3.1。因此,该语句就是修改配置文件的路径的地方。然后,我用message找出修改OpenCV配置文件路径所在路径就知道了那个文件下面修改了OpenCV的配置文件,详细如下图所示。


20200504170443417.png


然后在终端下面用gedit打开cv_bridge-extras.cmake文件,就发现它修改的地方了。


20200504170500523.png


我们对该文件进行修改,把自己安装的OpenCV对应的目录输入到文件中,如下图所示:


20200504170521393.png


再运行catkin_make编译工程就可以发现版本号回到了我们指定的版本号。当然,这只是对于显示设置而已,对于使用OpenCV没有太大的影响。


(3)还有一种方法就是cv_bridge与手动指定结合的方式。我们打开自己安装的OpenCV的配置文件可以发现该配置文件主要是用来设置一些OpenCV的相关信息,如下图所示。


20200504170538755.png


然后我们只要在cv_bridge中导入OpenCV的配置文件,那么只要使用cv_bridge的包就可以在ROS中使用相关的OpenCV版本,如下图所示。


2020050417055441.png


同样从配置文件中得到库函数目录的路径,如下图所示。


20200504170642216.png


上面要注意的是在给系统赋予OpenCV头文件和库文件目录路径时,千万不要忘记把cv_bridge的头文件和库文件目录路径忘记赋给系统。最后把cv_bridge配置文件设置OpenCV参数的选项注释掉,如下图所示。


2020050417065462.png


以后再遇到其他OpenCV与cv_bridge之间的兼容性问题,再补充。


相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
2月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
177 5
|
2月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
344 18
|
3月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
307 18
|
3月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
329 15
|
3月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
227 14
|
3月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
472 7
|
3月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
11月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
355 43
|
11月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
307 30
|
11月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
178 12