ROS机器人程序设计(原书第2版)3.8 图像可视化

简介:

3.8 图像可视化

在ROS系统中,我们可以创建一个节点,在节点中展示来自即插即用摄像头的图像。这是一个复杂数据主题的例子,这些数据可以使用特殊工具更好地可视化或分析。你只需要一个摄像头来完成这些,例如你笔记本上的webcam。在example8节点中,通过调用OpenCV库实现一段基本的摄像头捕捉程序,然后在ROS中将采集到的cv::Mat图像转换到ROS图像,这样就可以在主题中发布了。这个节点会在/camera主题里发布图像帧。

我们仅会使用launch文件运行节点并进行图像捕捉和发布工作。节点中的代码对于读者来说可能很陌生,但是在下面的章节中,我们将会介绍如何在ROS中使用摄像头和图像,到时候再回来看这些代码,你就会完全理解节点的工作原理和每行代码的含义:

 

一旦节点运行起来,我们就能够列出主题列表(rostopic list),并查看是否包含/camera 主题。查看是否正确捕捉到图像有一个简单直接的方法,使用rostopic hz /camera语句查看在主题中收到的图像更新频率是多少。频率通常是30Hz,如下图所示:

 

显示单一图片

想要查看一张图像,我们不能直接使用rostopic echo /camera命令,因为这会使用文本格式输出图片的信息,数据量会非常巨大,不可能进行任何有效的分析。因此,我们会调用下面的命令:

 

这里使用了image_view节点,在窗口中展示了给定主题(使用image参数)的图像,如下图所示。这样我们就能简单直接地显示在主题内发布的每一幅图像或帧,即使数据来自网络也可以实现。你可以通过在窗口中点击右边的按钮将当前帧保存在硬盘里,通常会存在home目录下或者~/.ros目录下。

ROS hydro还有rqt_image_view,支持在一个窗口查看多个图像,但不允许点击右边按钮保存图像。我们可以在GUI上手动选择图像主题或使用image_view:

 

前面命令结果如右图所示:

ROS提供了一个基于OpenCV校准API的摄像头校准界面。我们将在第5章介绍如何使用摄像头,包括单目和双目摄像头以及ROS图像管道(image_proc和stereo_image_proc)相关内容,这些能修正摄像头图像失真、计算双目摄像头深度差异,并得到一个点云。

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
人工智能 弹性计算 数据可视化
通过ROS低代码CADT无代码和可视化能力管理云上基础设施
本次主题介绍通过ROS低代码CADT无代码和可视化能力管理云上基础设施。首先探讨了云上部署的挑战,如手动部署耗时、缺乏一致性等。接着介绍了阿里云资源编排(ROS)的核心能力,包括资源栈模板和Terraform托管,简化多地域、多账号的自动化部署。重点展示了ROS的可视化编译器,用户无需编写IaC模板,可通过拖拽资源、配置属性实现一键部署。最后讨论了如何利用生成式人工智能开发IaC模板,提升架构设计效率。通过这些工具,可以显著提高云上架构的构建和管理效率,降低学习成本,并确保一致性和标准化。
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
1118 14
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
1012 6
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
2153 1
|
Ubuntu 机器人 Linux
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
895 1
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
1486 0
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
4140 0
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
1497 2
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
918 1

热门文章

最新文章

推荐镜像

更多
  • ros