open3d使用flann構建kdtree以便進行快速最近鄰檢索。
下面的**讀取乙個點雲並且構建乙個kdtree。這是下面最鄰近查詢的需處理步驟。
print
("testing kdtree in open3d ..."
)print
("load a point cloud and paint it gray."
)pcd = o3d.io.read_point_cloud(
"../../testdata/feature/cloud_bin_0.pcd"
)pcd.paint_uniform_color(
[0.5
,0.5
,0.5])
pcd_tree = o3d.geometry.kdtreeflann(pcd)
testing kdtree in open3d …我們選擇了1500個點作為錨點(anchor point),並將其塗為紅色。load a point cloud and paint it gray.
print
("paint the 1500th point red."
)pcd.colors[
1500]=
[1,0,0]
paint the 1500th point red.類似的,我們能夠使用 search_radius_vector_3d 去查詢所有的和錨點距離小於給定半徑的點,將其塗成綠色。
除了knn搜尋(search_knn_vector_3d)和rnn搜尋(search_radius_vector_3d)以外,open3d還提供了混合搜尋函式(search_hybrid_vector_3d)。它最多返回k個和錨點距離小於給定半徑的最鄰近點。這個函式結合了knn和rnn的搜尋條件,在某些文獻中也被稱作rknn搜尋。在許多情況下它有著效能優勢,並且在open3d的函式中大量的使用.
Open3d學習計畫 1(簡介與安裝)
本文主要介紹什麼是open3d和python的安裝與測試。open3d是乙個開源庫,支援快速開發和處理3d資料。open3d在c 和python中公開了一組精心選擇的資料結構和演算法。後端是高度優化的,並且是為並行化而設定的。其核心特性包括 本部落格主要介紹open3d的python版本使用,更多資...
Open3D 獲取mesh屬性
首先看一下在cloudcompare軟體中的實現 mesh flag vertices 檢查網格的基本特性,為每個網格樣本做標誌 0 normal,1 border,2 non manifold 三角網格有幾個可以用open3d測試的屬性。乙個重要的屬性是流形性質 manifold property...
open3d函式教程學習(持續更新)
open3d的核心功能包括 3d資料結構 3d資料處理演算法 場景重建 表面對齊 3d視覺化 基於物理的渲染 pbr 在c 和python中可用 匯入open3d模組和列印出幫助資訊。import open3d as o3d pcd o3d.io.read point cloud testdata ...