IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 使用ROS提取udacity .bag文件中的压缩图片 -> 正文阅读

[人工智能]使用ROS提取udacity .bag文件中的压缩图片

安装ROS(Ubuntu 20.04/noetic)

  1. 添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  1. 添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 更新软件源
sudo apt update
  1. 安装ROS(noetic version)
sudo apt install ros-noetic-desktop-full

如果出现因无法连接到ip而导致无法下载部分包,请更换软件源,更换之后再次执行上述命令。更换教程

  1. 设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 安装完成,以下是验证
roscore 

输入上述命令会显示版本号,如下图所示。
在这里插入图片描述
不要关闭,接着打开新终端,输入命令:rosrun turtlesim turtlesim_node,可以看到小乌龟的仿真界面已经打开了。不要关闭,再打开一个新终端输入指令:rosrun turtlesim turtle_teleop_key,可以通过键盘的方向键控制小乌龟在界面中移动(需要在终端控制,不是在界面控制),大功告成。

使用python提取bag文件中的压缩图片

直接上代码。

import rosbag
# import roslib;  # roslib.load_manifest(PKG)
# import rospy
import cv2
from cv_bridge import CvBridge
import os
from sensor_msgs.msg import Image

bridge = CvBridge()
for i in range(1,7):  #有6个bag文件
    bag_file_name = 'HMB_%d.orig.bag' % i
    rgb_path = '/common/hahabai/data/Ch2_002/HMB%d/' % i  # 已经建立好的存储rgb彩色图文件的目录
    print(bag_file_name)
    with rosbag.Bag(os.path.join(bag_dir, 'HMB_1.orig.bag'), 'r') as bag:
        #topic是/center_camera/image_color/compressed/
        for topic, msg, t in bag.read_messages("/center_camera/image_color/compressed/"):
            # 由于topic是被压缩的,所以采用compressed_imgmsg_to_cv2读取
            cv_image = bridge.compressed_imgmsg_to_cv2(msg, "bgr8")
            # 如果topic是无压缩的,可以采用bridge.imgmsg_to_cv2(msg,"bgr8")
            timestr = "%.6f" % msg.header.stamp.to_sec()
            # %.6f表示小数点后带有6位,可根据精确度需要修改;
            image_name = timestr + ".png"  # 图像命名:时间戳.png
            if not os.path.exists(rgb_path):
                os.makedirs(rgb_path)
            cv2.imwrite(os.path.join(rgb_path,image_name), cv_image)  # 保存
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-06 17:19:25  更:2022-06-06 17:24:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:43:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码