Я хочу добавить несколько случайных точек в существующий файл pointcloud (.ply
).Это для имитации шума, который фактически создается при сканировании объектов с помощью 3D-сканера.Извините, но я могу использовать только Python.
Я попытался загрузить файл ply из Python (open3d) и сгенерировать случайные точки в круге с помощью поиска в Интернете.
import numpy as np
import matplotlib.pyplot as plt
from open3d import *
#----load ply file---
def main():
pcd = read_point_cloud("unitbearing.ply") # Read the point cloud
draw_geometries([pcd]) # Visualize the point cloud
main()
#----generate random points---
rad=10
num=1000
t=np.random.uniform(0.0,2.0*np.pi,num)
r=rad*np.sqrt(np.random.uniform(0.0,1.0,num))
x=r*np.cos(t)
y=r*np.sin(t)
plt.plot(x,y,"ro",ms=1)
plt.axis([-15,15,-15,15])
plt.show()
Я хочу объединить эти две вещи.