#python #matlab #point-clouds
#python #matlab #облака точек
Вопрос:
Я пытаюсь вычислить нормали облака точек, образованного тремя плоскостями, каждая из которых выровнена с осью. В matlab функция pcnormals дает мне согласованный результат, в то время как когда я пытаюсь сделать то же самое с оценки_normals из open3d, результат неверен. Код находится здесь:
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:
результат python:
Кто-нибудь знает, с чем это может быть связано?