簡體   English   中英

如何清理 Open3D 中的網格?

[英]How to clean up the mesh in Open3D?

我使用 python 中的 Open3D 庫從 3D 雲點創建了表面網格。 我有很多域彼此相似的情況。 在大多數情況下,open3D 在創建封閉曲面網格方面做得很好,但在少數情況下,它會從域中創建一些異常網格。 下面是來自 Open3D 的表面網格的代碼。

pcd = o3d.io.read_point_cloud('./mesh.xyz')
pcd.estimate_normals()

# to obtain a consistent normal orientation
pcd.orient_normals_towards_camera_location(pcd.get_center())
pcd.normals = o3d.utility.Vector3dVector( - np.asarray(pcd.normals))

# surface reconstruction using Poisson reconstruction
mesh, _ = o3d.geometry.TriangleMesh.create_from_point_cloud_poisson(pcd, depth=9)

o3d.io.write_triangle_mesh('mesh.stl', mesh)

我附上了從域中獲得的異常網格的圖片。 如何從 Open3D 中清除這些網格? . 這只發生在少數測試用例中。 我們可以很容易地在異常圖像中看到網格是如何在域外的。

完成后完成網格

網格放大時的異常值

任何線索將不勝感激。

問候, Sunag R A。

您可以使用 Open3D Connected-components 刪除異常值。 示例鏈接 - http://www.open3d.org/docs/release/tutorial/geometry/mesh.html#Connected-components

注意 - 請在使用 Connected-components 之前從網格中刪除重復的頂點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM