isl-org / Open3D

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

Is there an upsampling method or surface interpolation method? #1056

Closed lvgeng closed 5 years ago

lvgeng commented 5 years ago

Just wondering if there is a upsampling method or surface interpolation method.

I wish to interpolate a relatively smooth curved surface from several sampled points.

Convert a sparse point cloud to a dense point cloud and fix the holes at the same time.

Seems to be something like:

sparse point cloud -> reconstructed mesh -> dense point cloud ?

Any suggestions?

griegler commented 5 years ago

I think for the suggested pipeline we are missing the middle part: reconstruction of the mesh. We are working on it, but for now you would need some other library for that.

lvgeng commented 5 years ago

I think for the suggested pipeline we are missing the middle part: reconstruction of the mesh. We are working on it, but for now you would need some other library for that.

Any suggestions for that? Like which python library might be suitable for it? Or... is is possible to skip the mesh part, just do a sparse point cloud to dense point cloud interpolation?

lvgeng commented 5 years ago

Or probably other methods? Does open3d have a smoothing method?

for point in sparse_point_cloud make a square planar point cloud p_sub at its position rough dense point cloud += p_sub smoothed_dense_point_cloud = smooth(rough dense point cloud) dense_point_cloud = downsample(smoothed_dense_point_cloud)

griegler commented 5 years ago

1130 implements the BPA. You could now use it to reconstruct the mesh surface and then densely sample the mesh, i.e., with Poisson disk sampling.

Oberschnulli commented 5 months ago

Does somebody have an implementation for that approach by chance?