【问题标题】:How can I change color of points in a PCD?如何更改 PCD 中点的颜色?
【发布时间】:2020-08-16 14:02:54
【问题描述】:

有没有办法改变 pcd 中点的颜色?我正在尝试从 pcd 中提取对象,但我不确定这是否是我要提取的正确对象,所以我想验证这些是否是我要提取的正确点。

编辑:我正在寻找这样的东西: [改变点云中点的颜色].1

P.S 我为这张图片使用了图片编辑器。

提前致谢。

【问题讨论】:

标签: c++ ros point-cloud-library point-clouds


【解决方案1】:

假设您有多个点云并且需要在 PCL 查看器中进行可视化,每个点云都具有不同的颜色,则可以使用以下方法

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud; // your pointcloud
pcl::visualization::PCLVisualizer viewer; // your PCL viewer
float r, g, b; // specify color values you need

pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> color(cloud, r, g, b);
viewer.addPointCloud<pcl::PointXYZ>(cloud, color, "a_name_for_the_cloud");

【讨论】:

  • 您好,感谢您的回复。我正在从 JSON 中提取对象,因此我需要验证我提取的点是否与我想要提取的点相同,因此我需要更改颜色以便我可以直观地验证。
  • 您的问题不清楚。所以你没有两个点云?请使用示例代码更新问题,显示您期望它的行为方式
【解决方案2】:

这是一种使用 open3d 库更改点颜色的方法。

from open3d import *
import numpy as np
pcd = io.read_point_cloud("frag_116.ply")
visualization.draw_geometries([pcd])
np_colors = np.array(pcd.colors)
np_colors[3000:45000,2] = 0.24
pcd.colors = Vector3dVector(np_colors)
visualization.draw_geometries([pcd])

`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2013-01-31
    • 2020-06-10
    相关资源
    最近更新 更多