isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
10.83k stars 2.24k forks source link

Filling Holes in Point Clouds #6190

Open jrecasens opened 1 year ago

jrecasens commented 1 year ago

Checklist

My Question

Hello,

I'm trying to fill empty holes in my point cloud. The depth image was captured using a downward-facing camera positioned on the upper section of a truck. Unfortunately, due to the angle of the camera, it was not possible to generate point clouds for the walls of the dump body.

Is it possible to create a wall of point clouds to close the dump body (dotted green lines)? Any ideas of how I could do this with Open3D?

shape closing

Thanks

jrecasens commented 7 months ago

Hello everyone, I successfully located the upper frame plane, distinguished by its blue color, and subsequently created three additional perpendicular planes for the side and back sections. However, I must admit that the result is not aesthetically pleasing. I would greatly appreciate any feedback or recommendations!

ake020675 commented 5 months ago

Maybe you can try the fill-holes function in Open3D. But you need to reconstruct a mesh first. A poisson version is like this: mesh, densities = o3d.geometry.TriangleMesh.create_from_point_cloud_poisson( pcd, depth=9) mesh = o3d.t.geometry.TriangleMesh.from_legacy(mesh) filled = mesh.fill_holes(hole_size=10000) filled = filled.to_legacy() o3d.visualization.draw_geometries([filled], title='filled')