91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: Python
  • 標簽: KMeans??點云提取??

資源簡介

利用KMeans算法對點云數據進行分類,例如可以提取出點云數據里的房屋、道路等。

資源截圖

代碼片段和文件信息

#Author?ZTY
import?numpy?as?np

def?kmean(xkmaxtimes):
????mn?=?np.shape(x)
????#?0矩陣的格式np.zeros([mn])
????dataset?=?np.zeros([mn+1])
????dataset[::-1]?=?x
????#middle?=?dataset[np.random.randint(msize=k):]
????middle?=?dataset[0:3:]
????middle[:-1]?=?range(1k+1)
????times?=?0
????oldmiddle?=?None
????while?not?shouldstop(oldmiddlemiddletimesmaxtimes):
????????print(‘times:‘times)
????????print(‘dataset:‘dataset)
????????print(‘middle:‘middle)
????????oldmiddle?=?np.copy(middle)
????????times?=?times?+?1
????????update(datasetmiddle)
????????middle?=?getmiddles(datasetk)
????return?dataset

def?shouldstop(oldmiddlemiddletimesmaxtimes):
????if?times?>?maxtimes:
????????return?True
????return?np.array_equal(oldmiddlemiddle)


def?update(datasetmiddle):
????mn?=dataset.shape
????for?i?in?range(0m):
????????dataset[i-1]?=?getLabelFromCloestCentroid(dataset[i:-1]middle)

def?getLabelFromCloestCentroid(datasetRowmiddle):
????label?=?middle[0-1]
????minDist?=?np.linalg.norm(datasetRow?-?middle[0:-1])
????#np.linalg.norm(a-b)用來計算ab兩點之間的距離,a.b如果是list,必須要np.array(a)進行格式轉換
????for?i?in?range(1middle.shape[0]):
????????dist?=?np.linalg.norm(datasetRow?-?middle[i:-1])
????????if?dist?????????????minDist?=?dist
????????????label?=?middle[i-1]
????print(‘minDist‘minDist)
????print(‘label‘label)
????return?label

def?getmiddles(datatsetk):
????result?=?np.zeros((kdatatset.shape[1]))
????for?i?in?range(1k+1):
?????

評論

共有 條評論