python:利用rospy实现Marker及XYZI/XYZRGB点云在rviz中的可视化

本文介绍了如何在Ubuntu和ROS环境下,利用Python的rospy库来实现Marker及XYZI/XYZRGB点云在rviz的可视化。首先,文章提到了应用背景,接着详细阐述了所需的依赖环境,包括ROS和numpy等模块。最后,给出了具体的示例代码。
摘要由CSDN通过智能技术生成

利用rospy实现Marker及XYZI/XYZRGB点云在rviz中的可视化

应用背景

在做点云深度学习的时候,需要对分割或者检测结果进行可视化,可能是不同label的点加上不同颜色的显示、也可能是不同检测目标需要添加不同的box或者不同颜色的显示,总之需求多种多样,目的也是为了给结果更鲜明的展示出来。
基于这样的目的需求,这里提供一种方案,利用ros中rviz可视化工具来显示,个人比较喜欢rviz的可视化效果,比open3d要情有独钟。下面会把详细的示例代码给出来,主要是带有颜色或者强度信息的点云可视化,以及marker的线条可视化(个人在做车道线显示都是这种方式)。

依赖环境

这里要说明一下,代码环境是基于ubuntu+ros的
需要安装rospy、numpy等

示例代码

可以直接作为工程里的一个脚本,在自己代码中import使用


# coding=utf-8
import rospy
import pcl_ros
import time
import numpy as np
from std_msgs.msg import ColorRGBA
from std_msgs.msg import Header
from sensor_msgs.msg import PointCloud2, PointField
from sensor_msgs import point_cloud2 as pc2
# from custom_msgs.msg import PointXYZIRGB
from visualization_msgs.msg import Marker, MarkerArray
from geometry_msgs.msg import Point


class Rviz():
    def __init__(self, points,
                colors=None,
                frame_id='rslidar',
                topic='/lane_points'):
        rospy.init_node('rviz_node', anonymous=True)
        self.pub_topic = topic
        self.pub_cloud = rospy.Publisher(self.pub_topic, PointCloud2, queue_size=10)    
        self.pub_markers = rospy.Publisher('/lane_markers', MarkerArray, queue_size=10)  
        self.rate = rospy.Rate(10)       
        self.header = Header()
        self.header.frame_id = frame_id
        self.header.stamp = rospy.Time().now() # 或者time.time() # 获取当前时刻微秒级时间戳
        self.points = points
        self.colors = colors
        rospy.loginfo('rospy init...')

    def xyzrgb_to_pointcloud2(self, points):
        msg = PointCloud2()
        assert(points.shape[1] == 6)
        msg.header = self.header
        if len(self.points.shape) == 3:
            msg.height = self.points.shape[1]
            msg.width = s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python ROS Marker利用Python编程语言和ROS(Robot Operating System)Marker功能来实现RVIZ进行点云可视化的一种方法。通过使用Marker,可以在RVIZ以不同的颜色、形状和大小显示点云数据,从而更直观地展示出点云的特征和结果。同时,还可以将Marker用于显示线条、文本等其他形状特征的可视化。这种方法适用于需要对点云进行分割、检测等深度学习任务,并希望通过可视化将结果更加清晰地展示出来的情况。具体使用方法可以参考引用和引用提供的示例代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python implements pointcloud RVIZ visualization with intensity.](https://download.csdn.net/download/qq_39506862/86404483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python:利用rospy实现MarkerXYZI/XYZRGB点云rviz可视化](https://blog.csdn.net/qq_39506862/article/details/126399636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ywfwyht

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值