資源簡介
采用python開發平臺,對點云Las數據進行讀取并三維可視化顯示,調用第三方庫對每個點建立kd樹,實驗驗證效率較高。

代碼片段和文件信息
#?========無監督查找最近鄰(常在聚類中使用,例如變色龍聚類算法)==========
from?sklearn.neighbors?import?NearestNeighbors
import?numpy?as?np?#?快速操作結構數組的工具
X?=?np.array([[-1?-1]?[-2?-1]?[-3?-2]?[1?1]?[2?1]?[3?2]])??#?樣本數據
nbrs?=?NearestNeighbors(n_neighbors=4?algorithm=‘ball_tree‘).fit(X)??#?為X生成knn模型
d=X[np.ix_([0])]
distances?indices?=?nbrs.kneighbors(d)??#?為test_x中的數據尋找模型中的鄰節點
print(‘knn鄰節點:‘indices)
print(‘KNN鄰節點距離:‘indices[0][1])
#?==============================使用kd樹和Ball樹實現無監督查找最近鄰========================
#?from?sklearn.neighbors?import?KDTreeBallTree
#?import?numpy?as?np?#?快速操作結構數組的工具
#
#?X?=?np.array([[-1?-1]?[-2?-1]?[-3?-2]?[1?1]?[2?1]?[3?2]])
#?#?test_x?=?np.array([[-3.2?-2.1]?[-2.6?-1.3]?[1.4?1.0]?[3.1?2.6]?[2.5?1.0]?[-1.2?-1.3]])??#?設置測試數據
#?test_x=X??#?測試數據等于樣本數據。這樣就相當于在樣本數據內部查找每個樣本的鄰節點了。
#?kdt?=?KDTree(X?leaf_size=30?metric=‘euclidean‘)
#?distancesindices?=?kdt.query(test_x?k=2?return_distance=True)
#?print(‘KDTree鄰節點:‘indices)
#?print(‘KDTree鄰節點距離:‘distances)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-09?18:31??python讀取las數據\
?????文件????????1334??2019-06-05?21:44??python讀取las數據\knnother.py
?????文件?????1346389??2018-03-19?11:36??python讀取las數據\read.las
?????文件?????????832??2019-06-08?16:22??python讀取las數據\readlasfile.py
- 上一篇:python基礎題庫新手必學
- 下一篇:python單純形法解線性規劃問題
評論
共有 條評論