Я пытаюсь использовать open3d для создания "альфа-корпуса" вокруг набора 3d-точек, используя TriangleMesh
. Однако я получаю TypeError.
import open3d as o3d
import numpy as np
xx =np.asarray([[10,21,18], [31,20,25], [36,20,24], [33,19,24], [22,25,13], [25,19,24], [22,26,10],[29,19,24]])
cloud = o3d.geometry.PointCloud()
cloud.points = o3d.utility.Vector3dVector(xx)
mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd=cloud, alpha=10.0)
output:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: create_from_point_cloud_alpha_shape(): incompatible function arguments. The following argument types are supported:
1. (pcd: open3d.open3d.geometry.PointCloud, alpha: float, tetra_mesh: open3d::geometry::TetraMesh, pt_map: List[int]) -> open3d.open3d.geometry.TriangleMesh
Ошибка говорит о том, что объект, который я передаю функции, имеет неправильный тип. Но когда я проверяю тип, я получаю это:
>>print(type(cloud))
<class 'open3d.open3d.geometry.PointCloud'>
Пожалуйста, кто-нибудь может мне помочь с этой ошибкой?
Примечание : комментарий к этому сообщению Python open3D без атрибута 'create_coordinate_frame' предположил, что это может быть проблемой при установке, и что решение должно было скомпилировать библиотеку из исходного кода. Поэтому я скомпилировал библиотеку из исходного кода. После этого побежал make install-pip-package
. Хотя я не уверен, что он завершился правильно, потому что я еще не смог import open3d
в python; см. вывод установки: https://pastebin.com/sS2TZfTL (я не был уверен, что эта команда должна была завершить установку, или вам все еще нужно было запустить pip? После того, как я запустил python3 -m pip install Open3d
, я мог импортировать библиотека в python.)