目录
3.在刚刚保存好的kitti.py路径下新建终端输入下列代码:
2.点击 左下角的 add ---by topix --image
学习来源:
以下过程接上一步:
自动驾驶数据集kitti简单可视化(一)_kitti数据集可视化-CSDN博客
一、发布照片
1.打开一个终端运行:
roscore
2.新建一个终端,输入下面指令:
cd catkin_ws/src
catkin_create_pkg kitti_tutorial rospy
cd ..
catkin_make
如果没有安装opencv 使用这个指令(新建一个终端使用):
pip install opencv-python
从刚才新建好的空间进去,新建一个文件写入代码,点击保存:
kitti代码如下:
#!/usr/bin/env python3
import cv2
import os
import rospy
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
DATA_PATH = '/home/sp/data/kitti/RawData/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
3.在刚刚保存好的kitti.py路径下新建终端输入下列代码:
cd src
roscd kitti_tutorial/src
chmod +x kitti.py
rosrun kitti_tutorial kitti.py
最后一行代码运行起来可以按:ctrl+c 关闭 ,但我试着不管用,直接把终端关了 。所以最后一行代码可以在同位置路径终端单独输入 ,以防运行起来无法关闭。
4.可视化影像
再新建一个终端输入:
rviz
1.显示如下界面:
2.点击 左下角的 add ---by topix --image
出现下面结果图。
![](https://img-blog.csdnimg.cn/direct/0d748fc0b0944876aad2fc67bb126ee0.png)
3.保存rviz
按下左上角file --save config as ---输入一个名字:kitti_tutorial 保存在根目录新建文件夹rviz下即可。
二、点云成像
先放结果图:
同上面同样的操作,只需把kitti.py代码改成下面即可。
代码:
#!/usr/bin/env python3
import cv2
import os
import numpy as np
import rospy
from std_msgs.msg import Header
from sensor_msgs.msg import Image ,PointCloud2
import sensor_msgs.point_cloud2 as pcl2
from cv_bridge import CvBridge
DATA_PATH = '/home/sp/data/kitti/RawData/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)
pcl_pub =rospy.Publisher('kitti_point_cloud',PointCloud2,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))
point_cloud =np.fromfile(os.path.join(DATA_PATH,'velodyne_points/data/%010d.bin'%frame),dtype=np.float32).reshape(-1,4)
cam_pub.publish(bridge.cv2_to_imgmsg(img,"bgr8"))
header =Header()
header.stamp = rospy.Time.now()
header.frame_id = "map"
pcl_pub.publish(pcl2.create_cloud_xyz32(header,point_cloud[:,:3]))
rospy.loginfo("published")
rate.sleep()
frame +=1
frame %=154
![](https://img-blog.csdnimg.cn/direct/1634b815a1b74e8184fc0d82085631bc.png)
*****
这里搜索了以下ubuntu 如何点击右件就可以新建文件:
ubuntu下鼠标右键新建文档_ubuntu中右击新建.c文件-CSDN博客
*****
-end-