python - ubuntu 16.04 中 CvBridge 和 ArUco opencv 模块与 ROS 动力学相结合的问题
问题描述
我正在使用无人机进行一个项目,该无人机的驱动程序仅适用于 ROS 动力学,这将我限制在 ubuntu 16.x 和 ROS 动力学。我使用 python 3.5,但是当我尝试将从 ROS 主题中提取的sensor_msgs/Image类型的图像转换为能够使用 OpenCV 处理的图像时,我需要使用 CvBridge。我可以使用rosrun image_view image_view image:=/topic
或使用来查看图像rviz
,因此图像正确来自主题。
问题是我需要aruco
导入模块来处理图像。
CvBridge
如果我使用 opencv 版本 3 或更高版本,则会出现错误,但是当我安装opencv
2.4.9 并将默认 python 设置为 2.7 时,我可以使用它,但是错误来自不aruco
存在的模块,我尝试使用构建 2.4.9 版本手动 contrib 模块,但它也不起作用。
因此,如果有人知道如何使用CvBridge
最新版本的模块或类似模块opencv
,则使用命令安装的模块pip install opencv-contrib-python
我将不胜感激任何有用的答案。
如果需要或问题不理解,我可以提供更多信息。谢谢。
解决方案
问题解决了。我不知道确切的原因或方式,但是在我在另一个磁盘上全新安装了 Ubuntu 16.04 之后,安装了 ros kinetic 如下:
http://wiki.ros.org/kinetic/Installation/Ubuntu
然后是无人机的司机:
https://bebop-autonomy.readthedocs.io/en/latest/installation.html
并且使用 te OS 附带的默认 opencv 3.3.1-dev 版本一切正常。
推荐阅读
- c# - 在 .NET 5 控制台应用程序中调用旧的 .NET Framework DbContext 类库应用程序?
- python - 用于提供 SVG 静态文件的 Django/DRF 端点
- android - 如何在 26 以下的 Android API 上使用 StorageManager 获取目录的 uuid?
- xml - 如何使用 ffmpeg 转换我的视频文件并使用 v: h264 获得恒定的帧速率,以及如何加快处理时间?
- javascript - Javascript没有取消单击带有链接的按钮
- react-native - React Native:无法让 PeerJs 服务器与我的 React Native Client 通信,发回对等 ID
- node.js - Discord.js 无法发送空消息
- datatables - 为数据表中的自然排序添加例外
- mysql - 在最大值上更新表的存储过程
- python - Python socketio等待连接初始化