提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
kitti数据集刚入门,记录一下。
一、kitti数据集下载
官网下载rawdate
二、使用步骤
1.创建工作空间
roscore //执行roscore
//再打开一个终端
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
cd ~/catkin_ws
catkin_make
source devel/setup.bash
2.下载pkg
代码如下:
cd catkin_ws/src
catkin_create_pkg kitti_tutorial rospy
cd .. //回到上一级
catkin_make //遍历刚生成的资料夹
因为使用的是python,所以使用rospy。
3.在src中新建python文件
进入刚创建的文件中新建文档开始写python代码
在写之前首先导入OpenCV
pip install opencv-python
如果失败了,可以换源试试,下面这个是清华源
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
python代码
#!/usr/bin/env python
import cv2
import os
import rospy
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
DATA_PATH = '/home/lu/myfile/2011_09_26_drive_0005_sync/2011_09_26/2011_09_26_drive_0005_sync'
if __name__ == '__main__':
rospy.init_node('kitti_node',anonymous=True)
cam_pub = rospy.Publisher('kitti_cam',Image,queue_size=10)
bridge = CvBridge()
rate = rospy.Rate(10)
while not rospy.is_shutdown():
img = cv2.imread(os.path.join(DATA_PATH,'image_02/data/%010d.png'%0))
cam_pub.publish(bridge.cv2_to_imgmsg(img,"bgr8"))
rospy.loginfo("camera image published")
rate.sleep()
将文件改为可执行档
roscd kitti_tutorial/src
chmod +x kitti.py
有关roscd的内容参考链接
运行
rosrun kitti_tutorial kitti.py
打开rviz
再次打开一个终端输入rviz
点击左下角的add并点击by topic,选择刚添加的image即可运行
上面只是一张图片输出的,将一张一张的图片拼接起来就是视频,代码如下:
#!/usr/bin/env python
import cv2
import os
import rospy
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
DATA_PATH = '/home/lu/myfile/2011_09_26_drive_0005_sync/2011_09_26/2011_09_26_drive_0005_sync'
if __name__ == '__main__':
frame = 0
rospy.init_node('kitti_node',anonymous=True)
cam_pub = rospy.Publisher('kitti_cam',Image,queue_size=10)
bridge = CvBridge()
rate = rospy.Rate(10)
while not rospy.is_shutdown():
img = cv2.imread(os.path.join(DATA_PATH,'image_02/data/%010d.png'%frame))
cam_pub.publish(bridge.cv2_to_imgmsg(img,"bgr8"))
rospy.loginfo("camera image published")
rate.sleep()
frame += 1
frame %=154