完美解决:在Ubuntu18.04下ROS Melodic基于python3的cv_bridge的一点子歪门邪道

由于在Ubuntu18.04下ROS Melodic是运行在python 2.7环境下,而我的程序需要运行在anaconda创建的python 3.x环境里,这就需要用到cv_bridge这个库,而不出意外的,各种报错,比如:

from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

在今年上半年,我的解决方法是:完全参考下面的两两篇博客:

安装CV_bridge Ubuntu18.04+Melodic+Python3 - 知乎

ROS——在Ubuntu18.04下基于ROS Melodic编译python3的cv_bridge_ros melodic python3 cv_bridge_Irving.Gao的博客-CSDN博客

但今天在一台新电脑上用同样的方法,一直在编译的时候报错:

CMake Error: File /home/sjh/project/ros_cv_bridge/src/package.xml does not exist.
CMake Error at /opt/ros/melodic/share/catkin/cmake/stamp.cmake:10 (configure_file):configure_file Problem configuring file
Call Stack (most recent call first):/opt/ros/melodic/share/catkin/cmake/catkin_package_xml.cmake:72 (stamp)/opt/ros/melodic/share/catkin/cmake/catkin_package_xml.cmake:50 (_catkin_package_xml)/opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:99 (catkin_package_xml)CMakeLists.txt:12 (catkin_package)CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:116 (message):catkin_package() 'catkin' must be listed as a buildtool dependency in thepackage.xml
Call Stack (most recent call first):/opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)CMakeLists.txt:12 (catkin_package)-- Configuring incomplete, errors occurred!
See also "/home/sjh/project/ros_cv_bridge/build/CMakeFiles/CMakeOutput.log".
See also "/home/sjh/project/ros_cv_bridge/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

换了多种方法,无解,但想到,在上面的教程中,使用的是catkin_make install指令,按道理说,这个指令中得到的install文件夹,在相同系统和架构的设备上是通用的,因此打算从另一台电脑上搬过来

下面开始过程:

注意:仅适用于X86架构的Ubuntu18.04+ROS Melodic环境下,其他环境,请继续参考文章开始提到的教程

一、下载install文件

百度网盘链接:https://pan.baidu.com/s/1Q6rChZHTbMvdutUgQzNDPQ?pwd=wxng

提取码: wxng

或者在CSDN资源中下载:https://download.csdn.net/download/weixin_45498383/88563843

二、解压install文件

上一步中下载下来的是一个压缩包,将其解压在一个文件夹内即可,想我就解压在了

~/project/ros_cv_bridge/install

目录下,要记住这个目录,后面要用的

三、修改.bashrc文件

打开.bashrc文件,在文末添加如图内容:

source ~/project/ros_cv_bridge/install/setup.bash --extend

然后关掉文件,关掉你的终端,重新打开,再进行测试,发现已经不再报错了,cv_bridge运行正常

注意:仅适用于X86架构的Ubuntu18.04+ROS Melodic环境下,其他环境,请继续参考文章开始提到的教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/163594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贝锐向日葵:独家算法如何支撑不断地产品创新?

作为国民级的专业远程控制品牌,贝锐旗下的“向日葵远程控制”一直在远程控制领域不断积累创新。 近年来,远程控制软件本身开始成为企业的主流远程业务工具以及个人场景下的日常必备软件,向日葵远程控制也在不断地完善并创新产品。 比如在前…

pip安装tkinter模块失败 No matching distribution found for tkinter

我想使用Python创建一个简单的桌面应用程序, 这个应用程序依赖于tkinter, 然而,当我尝试安装过程时,出现了错误。 $ pip install tkinter ERROR: Could not find a version that satisfies the requirement tkinter (from versions: none) ERROR: No matching distributio…

泛微齐业成数电发票+乐企平台解决方案等您查收

近年来,国家持续发布加快数字化发展、深化税收征管制度改革的纲领性政策,与组织费用管理相关的发票、单据、档案等逐步完成数字化转型;2022年,全面数字化的电子发票正式执行,现在已有33地成为数电票试点。 全国数电票…

rust每日一库 rand 生成随机数

文章目录 生成随机值生成随机数生成范围内随机数生成自定义类型随机值从一组字母数字字符创建随机密码从一组用户定义字符创建随机密码 总结 生成随机值 rust中官方并没有像以他语言一样,rust并没有官方并没有提供生成随机数的工具,所以我们要借助rand包…

实现文本选中变色

单个文本变色 <div id"myText">vfadsfgase</div> const myText document.getElementById(myText); myText.addEventListener(mouseup, () > {const selection window.getSelection();if (selection.toString() ! ) {const range selection.getRang…

Could not resolve host: gitlab.example.com问题解决

请按照以下步骤检查和修复 Hosts 文件&#xff1a; 打开 Hosts 文件&#xff1a;在 Windows 上&#xff0c;Hosts 文件位于 C:\Windows\System32\drivers\etc\hosts&#xff0c;可以使用记事本或其他文本编辑器打开。检查是否存在正确的映射关系&#xff1a;确保在 Hosts 文件…

深入剖析预约上门服务系统源码:构建高效服务的代码之旅

在本文中&#xff0c;我们将深入研究预约上门服务系统的源码&#xff0c;透过代码的层层剖析&#xff0c;揭示系统背后的技术奥秘。我们将关注系统的核心功能&#xff0c;并通过代码示例演示其实现过程&#xff0c;为读者提供一个深度技术解读的体验。 1. 技术栈选择&#xf…

教育机构拒绝“数据陷阱”,群硕将英孚新一代教学管理系统搬上桌

为什么小机构年年担心招生不够&#xff0c;英孚却令学生家长趋之若鹜&#xff1f; 区别就在教学管理方式。为了更好地管理分布全球的校区、学生和老师&#xff0c;英孚应用了一套教学管理系统&#xff0c;帮助学校管理学员&#xff0c;帮老师智慧排课&#xff0c;帮助家长记录…

Spring框架学习 -- 读取和存储Bean对象

目录 &#x1f680;&#x1f680; 回顾 getBean()方法的使用 根据name来获取对象 再谈getBean() (1) 配置扫描路径 (2) 添加注解 ① spring注解简介 ② 对类注解的使用 ③ 注解Bean对象的命名问题 ④ 方法加Bean注解 (3) Bean 注解的重命名 (4) 获取Bean对象 -- …

基于YOLO模型建筑工地个人防护设备目标检测

使用安全装备可以保护他们免受建筑工地的意外事故。据统计&#xff0c;每年有数以万计的工人在建筑工地受到严重伤害&#xff0c;造成终生困难。然而&#xff0c;通过自我监控来确保工人穿戴个人防护装备非常重要。在这方面&#xff0c;需要一个准确和快速的系统来检测工人是否…

微信小程序其他环境都能显示在正式环境显示不出来

踩坑日记 用了uni.getImageInfo 用了uni.getImageInfo 本地开发环境&#xff0c;测试环境全都可以&#xff0c;就是更新到正式环境不显示。后面看代码百度了这个api发现图片所涉及的地址需要在小程序配置download域名白名单 https://uniapp.dcloud.net.cn/api/media/image.ht…

termios.h 头文件包含问题

报奇怪的错误&#xff0c;解决掉其他错误或告警信息后&#xff0c;调整头文件的顺序。

地埋式积水监测仪厂家批发,实时监测路面积水

地埋式积水监测仪是针对城市内涝推出的积水信息监测采集设备&#xff0c;采用超声波传感技术和超声波抗干扰功能&#xff0c;对路面的积水进行实时精准的监测。该设备能够在零下-5℃至高温70℃的严寒酷暑环境下可靠运行。它对城市道路积水进行实时监测并上报到监测系统之中&…

opencv-python的图像分割算法

OpenCV-Python中提供了一些图像分割算法&#xff0c;常用的有以下几种&#xff1a; 1.基于阈值的分割&#xff1a; cv2.threshold()&#xff1a;根据设定的阈值将图像分为两个类别。cv2.adaptiveThreshold()&#xff1a;根据图像局部区域的像素值进行自适应阈值分割。 2.基于…

线上问题排查实例分析|关于 Redis 内存泄漏

Redis 作为高性能的 key-value 内存型数据库&#xff0c;普遍使用在对性能要求较高的系统中&#xff0c;同时也是滴滴内部的内存使用大户。本文从 KV 团队对线上 Redis 内存泄漏定位的时间线维度&#xff0c;简要介绍 Linux 上内存泄漏的问题定位思路和工具。 16:30 问题暴露 业…

电动机保护方式

3.3.1、电动机温度保护 温度保护是利用安装在电动机内部的温度继电器或变换器来实现的。当电动机达到一定温度时继电器动作&#xff0c;通过控制电路断开电动机的主电路。对于单相小容量电动机&#xff0c;可以用继电器直接断开动力电路。 根据温度传感器的不同可以分为&…

cv2.threshold()函数参数讲解

cv2.threshold()函数用于对图像进行阈值化处理。它的参数如下&#xff1a; src&#xff1a;要处理的输入图像&#xff0c;可以是灰度图像或彩色图像&#xff0c;类型为uint8。thresh&#xff1a;设定的阈值&#xff0c;如果像素值大于阈值&#xff0c;则将其设为maxval&#x…

【Proteus仿真】【51单片机】篮球比赛计分器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用声光报警模块、动态数码管模块、按键模块等。 主要功能&#xff1a; 系统运行后&#xff0c;数码管显示比赛时间和AB队得分&#xff1b;系统还未开…

数据中心运维管理:从人工到智能需要走几步?

一切的变化来自于数据中心规模、复杂度、设备多样性的挑战&#xff0c;将运维平台的重要性推向历史高点。 此外&#xff0c;基于业务连续性方面的考虑&#xff0c;分布式数据中心成为越来越多客户的选择。 一、数据中心面临的挑战 运维管理分散&#xff0c;缺乏统一的管理 I…

Win11和NewBing浏览器100%开启Copilot的方法

严格按以下步骤来&#xff0c;100%开启免费的AI&#xff1a; 1.系统升级到Win11最新版&#xff08;不要用家庭版&#xff0c;推荐专业版&#xff09; 升级完成之后的系统信息&#xff08;时间截至2023.11.22&#xff09; 版本号&#xff1a;23H2 操作系统版本&#xff1a;226…