亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

修復 KMeans 集群位置

修復 KMeans 集群位置

蠱毒傳說 2023-04-18 15:13:03
我正在嘗試使用 KMeans 對 RGB 顏色進行聚類,并自動計算圖像上每個組的像素數。為此,我將質心的初始位置設置在我想要分類的位置,并從 sklearn 運行 KMeans。問題是,根據圖像,算法輸出會改變初始質心向量的順序,因此當我計算元素數量時,它會變成錯誤的顏色。當我在圖像的初始質心中沒有一種或多種顏色時,通常會發生這種情況。在這種情況下,我希望它計數為 0。有誰知道如何修復 KMeans 預測輸出的初始質心順序?代碼如下: centroid_start = np.array([[0,0,0],#Black                           [38,64,87], #Col1                           [43,68,98], #Col2                           [23,42,45], #Col3                           [160, 62, 0],#Col3                           [153, 82, 33], #Col5                           [198, 130, 109], #Col6                           [100,105,79], #Col7                           [220,138, 22]#Col8                           ], np.float64)          image = cv.cvtColor(img, cv.COLOR_HSV2RGB)    reshape=image.reshape((image.shape[0]*image.shape[1], 3))    cluster = KMeans(n_clusters =np.shape(centroid_start[0], init =centroid_start).fit(reshape) pixels = Counter(cluster.labels_)print(pixels)問題是:當我檢查“像素”變量時,0 并不總是對應于黑色,1 并不總是對應于 Col1,等等。
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

如果您不想遷移顏色,則可能不應該使用 k-means。相反,只需使用顏色和圖像像素之間的成對距離,然后選擇距離最小的顏色。

如果您確實希望初始顏色遷移,那么您必須接受一些初始聚類中心(顏色)可能會消失或可能遷移到與初始顏色非常不同的東西。一種選擇是重新排序適合的KMeanscluster_centers_對象的屬性行(可能還有labels_)。另一個 - 可能更安全 - 選項是計算擬合簇中心到原始顏色的映射(再次使用成對距離),然后轉換后續 k-means 分類的結果。如果你想一步完成所有這些,你可以通過創建你自己的派生自BaseEstimator的類來子類化或包裝它。KMeans


查看完整回答
反對 回復 2023-04-18
  • 1 回答
  • 0 關注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號