【发布时间】:2015-11-09 15:22:25
【问题描述】:
我有以下形状的 RGB 图像 ((3L, 5L, 5L)。这意味着 5 x 5 像素图像具有 3 层 (R,G,andB)。我想使用 DBSCAN 算法对其进行聚类,如下所示。但是我收到了一条错误消息,ValueError: Found array with dim 3. Expected <= 2。我不能用于我的 3d 图像吗?
import numpy as np
from sklearn.cluster import DBSCAN
from collections import Counter
data = np.random.rand(3,5,5)
print np.shape(data)
print data
db = DBSCAN(eps=0.12, min_samples=3).fit(data)
print db
DBSCAN(algorithm='auto', eps=0.12, leaf_size=30, metric='euclidean',
min_samples=1, p=None, random_state=None)
labels = db.labels_
print Counter(labels)
【问题讨论】:
-
如果您查看文档: X :数组或稀疏 (CSR) 形状矩阵 (n_samples, n_features),或数组形状 (n_samples, n_samples)
-
如何定义两个像素之间的距离?
-
@yangjie 我不知道。您是指通道上两个像素之间的距离(体素)吗?
标签: python numpy scikit-learn