Ich möchte die Bilder mit K-Means oder anderen Algorithmus clustern (Vorschlag erforderlich).Clustering in Python-Image Clustering
Das Problem ist wie folgt- Ich möchte Bilder in 3 Cluster (Natur, Sonnenuntergang, Wasser) Cluster. Ich habe alle Bilder mit os.listdir() geladen und dann alle Bilder in Arrays (RGB) konvertiert und dann einen Datenrahmen erstellt, der drei Spalten enthält - ID, Image_array, Label.
Nun, wenn ich K Means Clustering verwenden, sofern n_clusters = 3, zeigt es diesen Fehler:
from sklearn.cluster import KMeans kmeans = KMeans(n_clusters = 3).fit(img_array) ERROR = Found array with dim 4. Estimator expected <= 2.
Nun, ich brauche Ihre Hilfe in diesem Clustering Problem. Der Datenrahmen, die ich erstellt wie folgt aussieht
img_array = []
path = "C://Users/shivam/Desktop/freelancer/p22/data/green_nature/"
for f in os.listdir('.'):
if f.endswith('.jpg'):
img = Image.open(f)
data = np.asarray(img, dtype='uint8')
img_array.append(data)
df = pd.DataFrame({'image_arrays':img_array})
df['id'] = range(1, len(df) + 1)
Ja, das interesting.But scheint, ich bin stecken, können Sie mir helfen, dass aus. Wie bekomme ich das Histogramm (ich habe auch versucht, das zu bekommen). Jetzt versuche ich, die avg anstelle von 3 D-Array zu bekommen. Wenn Sie bitte mehr Hilfe zur Verfügung stellen, wäre das sehr hilfreich. –
Ich denke, dieses 3 D-Array in ein 2D-Array zu konvertieren, das mittlere und Standardabweichung hat, die in Ordnung sein wird, wenn ich K Means, aber dieses Array ist RGB-Array. Ich meine, wie soll ich das machen? –
np.mean (image_arrays, axis = 2)? https://docs.scipy.org/doc/numpy/reference/generated/numpy.mean.html – TheLaurens