安装ROS(Ubuntu 20.04/noetic)
- 添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
- 添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 更新软件源
sudo apt update
- 安装ROS(noetic version)
sudo apt install ros-noetic-desktop-full
如果出现因无法连接到ip而导致无法下载部分包,请更换软件源,更换之后再次执行上述命令。更换教程
- 设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
- 安装完成,以下是验证
roscore
输入上述命令会显示版本号,如下图所示。 不要关闭,接着打开新终端,输入命令:rosrun turtlesim turtlesim_node,可以看到小乌龟的仿真界面已经打开了。不要关闭,再打开一个新终端输入指令:rosrun turtlesim turtle_teleop_key,可以通过键盘的方向键控制小乌龟在界面中移动(需要在终端控制,不是在界面控制),大功告成。
使用python提取bag文件中的压缩图片
直接上代码。
import rosbag
import cv2
from cv_bridge import CvBridge
import os
from sensor_msgs.msg import Image
bridge = CvBridge()
for i in range(1,7):
bag_file_name = 'HMB_%d.orig.bag' % i
rgb_path = '/common/hahabai/data/Ch2_002/HMB%d/' % i
print(bag_file_name)
with rosbag.Bag(os.path.join(bag_dir, 'HMB_1.orig.bag'), 'r') as bag:
for topic, msg, t in bag.read_messages("/center_camera/image_color/compressed/"):
cv_image = bridge.compressed_imgmsg_to_cv2(msg, "bgr8")
timestr = "%.6f" % msg.header.stamp.to_sec()
image_name = timestr + ".png"
if not os.path.exists(rgb_path):
os.makedirs(rgb_path)
cv2.imwrite(os.path.join(rgb_path,image_name), cv_image)
|