Ich verwende K-Means, um die Farbe im Bild zu segmentieren und jetzt möchte ich RGB-Werte von jeder Farbe erhalten, die bereits Cluster waren. Und noch eine Sache, kann mir jemand erklären, warum Cluster-Center zwei Werte haben (6 x 2 Doppel)? Ist es das Spektrum des Clusterzentrums? Etwas?Wie kann man RGB-Werte vom Cluster-Zentrum mit K-Mitteln bestimmen?
cform = makecform('srgb2lab');
lab = applycform(a,cform);
ab = double(lab(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 6;
[cluster_idx, cluster_center] = kmeans(ab, nColors,
'distance','sqEuclidean', 'Replicates', 3);
pixel_labels = reshape(cluster_idx, nrows, ncols);
segmented_images = cell(1,3);
rgb_label = repmat(pixel_labels,[1 1 3]);
Ofc Cluster-Center haben 2 Werte, wenn es nur 1 Wert war - sagen 16, wie würdest du das interpretieren? der 16. Pixel? die 16. Reihe? Um den RGB-Wert zu lesen, wenden Sie Ihren Cluster auf das Originalbild (vor dem LAB-Schritt) und lesen Sie die RGB-Werte – GameOfThrows
Ich nehme an, dass Ihr Bild 2D ist (ohne die Farbdimension)? In diesem Fall benötigen die Zentren zwei Werte, eine Zeilen- und eine Spaltenkoordinate. – Dan
Bedeutet es, dass das Cluster-Zentrum eine Koordinate ist, die den RGB-Wert repräsentiert? – userstack