python - open3d 的估计法线不正确?
问题描述
我正在尝试计算由三个平面形成的点云的法线,每个平面都与轴对齐。在 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结果:
蟒蛇结果:
有人知道这可能是什么原因吗?
解决方案
推荐阅读
- reactjs - 在图表中反应径向渐变填充
- javascript - 对象及其字段的奇怪 console.log 行为
- java - Sort custom objects by String and alphanumeric
- reactjs - 如何避免在 React 上重新实例化从 Redux 返回的类实例
- android - 如何在 Android 中的 LinearProgressBar 中添加渐变颜色和圆角指示器?
- mongodb - MongoDb 模式设计用于基于角色的访问
- amazon-web-services - AWS Lambda 函数:900 秒后超时
- jsf - p:selectBooleanCheckbox *look only* 在向 ap:dataTable 添加行后移动
- java - 我们能在堆转储文件中找到哪个线程持有锁吗
- mysql - 将 FORMAT_DATETIME 与 Tableau 和 BigQuery 结合使用