首页 > 解决方案 > 从深度图像生成点云

问题描述

我正在尝试将深度图像 (​​RGBD) 转换为 3d 点云。我目前使用的解决方案取自这篇文章,其中:

深度测量是从针孔相机中进行的,点云从中心突出(下面的示例图像)。谁能帮我理解为什么以及如何解决这个问题?

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

标签: pythonimagepoint-cloudsdepthprojection-matrix

解决方案


您可以使用 package.json 轻松解决此问题open3d。使用安装它sudo pip install -U open3d-python(不仅仅是open3d- 那是另一个包)。

安装后:

from open3d import *

rgbd = create_rgbd_image_from_color_and_depth(color, depth, convert_rgb_to_intensity = False)
pcd = create_point_cloud_from_rgbd_image(rgbd, pinhole_camera_intrinsic)

# flip the orientation, so it looks upright, not upside-down
pcd.transform([[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,1]])

draw_geometries([pcd])    # visualize the point cloud

上面的代码假设您有彩色图像color和深度图像depth,请查看随附的示例以open3d获取更多信息。

如果你有自己的相机,你可以pinhole_camera_intrinsic用那些来代替,但是对于测试运行,针孔相机或多或少都可以正常工作。


推荐阅读