У меня есть изображение RGB следующей формы ((3L, 5L, 5L)). Это означает 5 на 5 пикселей изображение, имеющее 3 слоя (R, G и B). Я хочу сгруппировать его, используя DBSCAN алгоритма следующим образом. Но я получил сообщение об ошибке ValueError: Found array with dim 3. Expected <= 2
. не могу ли я использовать для моего 3D изображения?ValueError В то время как кластеризация в Sklearn
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) – Moritz
Как вы определяете расстояние между двумя пикселями? – yangjie
@yangjie Я понятия не имею. Вы имеете в виду расстояние между двумя пикселями по каналу (вокселе)? – jean