我使用GMM分離出2個重疊的高斯。一個是信號,另一個是背景。背景始終具有比信號更低的值和均值。大多數時候,gmm.means_
的順序是[lower_mean,higher_mean],這使得它預測0作爲背景,1預測爲信號。有時候,平均值的階數是[higher_mean,lower_mean],這使得GMM預測它爲0,噪聲1(與我想要的相反)。我希望具有較低均值的高斯是背景(0),並且具有較高均值的一個是信號(1)。如何將GMM結果設置爲正確的順序或如何設置預測輸出?基於高斯均值的scikit-learn高斯混合模型集預測輸出
img = cv2.imread(path, -1)
img_flatten = img.flatten().reshape(img.flatten().shape[0],1)
gmm = GaussianMixture(n_components=2, covariance_type='full')
gmm.fit(img_flatten)
pred = gmm.predict(img_flatten) # how can I set the prediction value I want for each Gaussian?
print(np.round(g.means_, 2))
# gives [[ 66.31] [ 203.64]] on some images and [[ 67.32] [ 306.13]] on other