zoukankan      html  css  js  c++  java
  • PCLVisualizer可视化类(2)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=163

    可视化点云颜色特征

    多数情况下,点云显示不采用简单的XYZ类型,常用的点云类型是XYZRGB点,也包含颜色数据,除此之外,用户还希望给指定点云定制颜色,以使点云在视窗中比较容易区分,如图1所示,点赋予不同的颜色表征其对应的z轴值不同。PCLVizualizer可根据所存储的颜色数据为点云赋色,或者按照用户自定义的颜色为点云着色。许多设备,比如微软Kinect,可获取带有RGB数据的点云,PCLVizualizer可视化类可使用这种颜色数据为点云着色,rgbVis函数中的代码用于完成这种操作。

    图1 可视化带颜色信息的点云

    与前面的代码相比,这个代码没有太大的改变。

    boost::shared_ptr<pcl::visualization::PCLVisualizer> rgbVis (pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr cloud)

    首先,与前面简单示例相比点云类型发生了变化,这里使用的点云带有RGB数据的属性字段,这是比较关键的一点,没有RGB字段的点云(点云的类型不一定必须只限定为点类型PointXYZRGB,只要包括三个颜色分量即可),PCLVisualizer类将不知道该为点云着什么颜色。

    pcl::visualization::PointCloudColorHandlerRGB<pcl::PointXYZRGB> rgb(point_cloud_ptr);

    其次,设置窗口的背景颜色后,我们创建一个颜色处理对象PointCloudColorHandlerRGBPCLVisualizer类利用这样的对象显示自定义颜色数据,在这个示例中,PointCloudColorHandlerRGB对象得到每个点云的RGB颜色字段,其他的类似于PointCloudColorHandlerRGB对象有多种应用,在下一个示例中我们将学习另一种着色方法,但是这个处理也可用于其他操作,比如由其他字段映射出来的颜色、或者由几何特征映射出来的颜色,更详细的信息请参照API文档

    viewer->addPointCloud<pcl::PointXYZRGB> (cloud, rgb, "sample cloud");

    最后,当我们添加点云的时候,我们可以指定添加到视窗中点云的PointCloudColorHandlerRGB着色处理对象。

    可视化点云自定义颜色特征

    第三个示例函数是演示怎样给点云着上单独的一种颜色,我们可以利用该技术给指定的点云着色,以使所着色的点云区别与其他点云,如图2所示用户自定义所有点云颜色为绿色,在这个示例中,customColourVis函数中,我们将点云赋为绿色,在这里,我们也设置了较大的点云显示尺寸,以使点云及颜色更明显。

    2 单独一种颜色的点云

    与前面情况相同,下面的这段示例代码跟上面那段示例代码没有太大改变。

    boost::shared_ptr<pcl::visualization::PCLVisualizer> customColourVis (pcl::PointCloud<pcl::PointXYZ>::ConstPtr cloud)

    这个示例中所用的点云类型是XYZ类型。在自定义着色处理对象PointCloudColorHandlerCustom中,没有那个点云字段用作颜色字段,不论所用的点云是什么类型,我们都可以为点云着自定义颜色。

    pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color (cloud, 0, 255, 0);

    所以,这里我们需要创建一个自定义颜色处理器PointCloudColorHandlerCustom对象,并设置颜色为纯绿色。

    viewer->addPointCloud<pcl::PointXYZ> (cloud, single_color, "sample cloud");

     

  • 相关阅读:
    最短路回顾
    树链剖分【模板】
    grep 、find 、tree 新发现
    网口划VLAN
    JDK安装
    网口做trunk
    PXE搭建
    C# 生成DLL文件
    在form窗体里面 寻找当前焦点的控件
    在屏幕右下方显示提示信息(winform窗体)(借鉴)
  • 原文地址:https://www.cnblogs.com/flyinggod/p/8598356.html
Copyright © 2011-2022 走看看