open3d使用不正确的estimate_normals?

时间:2019-03-08 12:15:21

标签: python matlab point-clouds

我正在尝试计算由三个与轴对齐的平面形成的点云的法线。 在matlab中,函数pcnormals给我一个连贯的结果,而当我尝试对open3d的estimate_normals做同样的事情时,结果是不正确的。 代码在这里:

import numpy as np
from open3d import *
pcd = read_point_cloud("D:\Artificial.txt",format = 'xyz')
estimate_normals(pcd, search_param =  KDTreeSearchParamKNN(knn = 25))
x = np.concatenate((np.asarray(pcd.points),np.asarray(pcd.normals)),axis=1)
np.savetxt("D:\ArtificialN_python.txt",x,delimiter=',') 

我也尝试过使用不同的knn值和search_param,但结果相似。

我根据用matlab和python计算出的正常云(红色水平和绿色倾斜)的第三个分量来封装彩色云的图像。

matlab结果:

enter image description here

python结果:

enter image description here

有人知道这可能是什么原因吗?

0 个答案:

没有答案