【问题标题】:Can Open3d visualize a point cloud in RGB mode?Open3d 可以在 RGB 模式下可视化点云吗?
【发布时间】:2020-06-24 04:16:47
【问题描述】:

我找到了几个关于在 Open3D 中从 RGB-D 图像中可视化点云的教程。但我只得到了灰度模式的结果。这是我的示例代码:

import open3d as o3d # installed by running: <pip install open3d-python> 
def img_to_pointcloud(img, depth, K, Rt):
    rgb = o3d.geometry.Image(img)
    depth = o3d.geometry.Image(depth)
    rgbd = o3d.geometry.create_rgbd_image_from_color_and_depth(rgb, depth, depth_scale=1.0, depth_trunc=50.0)
    fx, fy, cx, cy = K[0, 0], K[1, 1], K[0, 2], K[1, 2]
    intrinsic = o3d.camera.PinholeCameraIntrinsic(int(cx*2), int(cy*2), fx, fy, cx, cy)
    pc = o3d.create_point_cloud_from_rgbd_image(rgbd, intrinsic, Rt)
    o3d.visualization.draw_geometries([pc])

结果示例可以在http://www.open3d.org/docs/release/getting_started.html#running-open3d-tutorials找到。 Open3D 是否支持在 RGB 模式下可视化点云。如果没有,您会在 Python 中推荐什么库?

【问题讨论】:

  • 你能用has_colors(pc)检查颜色吗?根据this tutorial,它可以可视化彩色PC。也许create_point_cloud_from_rgbd_image 没有分配颜色。
  • 否则我会推荐PCL。虽然我只在c++中使用,python绑定exist.
  • 是的,我已经用 has_colors 函数检查了颜色。输出为真。所以,我不明白为什么。谢谢,我会尝试使用PCL
  • 现在我又看了一遍教程,点云确实有颜色!由于图像是灰度的,因此生成的点云也有 1 个通道颜色。所以它确实用颜色正确渲染它。
  • 是的,我检查了我的图像img,它是彩色图像。但是使用create_point_cloud_from_rgbd_image创建点云时,只显示灰度

标签: python point-cloud-library open3d


【解决方案1】:

Open3D 是否支持在 RGB 模式下可视化点云?

是的,确实如此。

Open3D.geometry.create_rgbd_image_from_color_and_depth 有一个可选参数convert_rgb_to_intensity,默认设置为true。

要在 RGB 模式下进行可视化,只需将第五行更改为
rgbd = o3d.geometry.create_rgbd_image_from_color_and_depth(rgb, depth, depth_scale=1.0, depth_trunc=50.0, convert_rgb_to_intensity=False)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2017-03-11
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    相关资源
    最近更新 更多