У меня есть файл САПР (.stl) и несколько облаков точек, созданных лазерным сканером.
теперь я хочу вычислить разницу между файлом САПР и каждым облаком точек.
Сначала я начал с Cloud Compare, который очень помогает получить базовое понимание. (уменьшение точек, удаление дубликатов, создание сетки и сравнение расстояний)
В Python мне удалось импортировать файлы и выполнить некоторые базовые вычисления. Однако я не могу рассчитать расстояние.
вот мой код:
import numpy as np
import open3d as o3d
#read point cloud
dataname_pcd= "pcd.xyz"
point_cloud = np.loadtxt(input_path+dataname_pcd,skiprows=1)
#read mesh
dataname_mesh = "cad.stl"
mesh = o3d.io.read_triangle_mesh(input_path+dataname_mesh)
print (mesh)
#calulate the distance
mD = o3d.geometry.PointCloud.compute_point_cloud_distance([point_cloud],[mesh])
#calculate the distance выдает мне эту ошибку:
"TypeError: Compute_point_cloud_distance(): несовместимые аргументы функции. Поддерживаются следующие типы аргументов:
1. (self : open3d.cpu.pybind.geometry.PointCloud, цель: open3d.cpu.pybind.geometry.PointCloud) -> open3d.cpu.pybind.utility.DoubleVector"
Вопросы:
какие предварительные преобразования для сетки и облаков точек необходимы для расчета их расстояний?
есть ли рекомендуемый способ отображения различий?
до сих пор я просто использовал линию визуализации ниже
o3d.visualization.draw_geometries([pcd],
zoom=0.3412,
front=[0.4257, -0.2125, -0.8795],
lookat=[2.6172, 2.0475, 1.532],
up=[-0.0694, -0.9768, 0.2024])
Подробнее здесь: https://stackoverflow.com/questions/668 ... oint-cloud
Open3d вычисляет расстояние между сеткой и облаком точек ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Open3d: основные операции с облаками точек не работают, выход с кодом = 3221225477.
Anonymous » » в форуме Python - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-