код на основе эта статья работает, как и ожидалось, когда я определяю только 3 кластера.Но когда я изменяю количество кластеров, я не получаю обратно равное количество кластеров.
from matplotlib import image as img
from matplotlib import pyplot as plt
import pandas as pd
image = img.imread("my_logo1.jpg")
image.shape
r = []
g = []
b = []
for line in image:
for pixel in line:
temp_r, temp_g, temp_b = pixel
r.append(temp_r / 255)
g.append(temp_g / 255)
b.append(temp_b / 255)
df = pd.DataFrame({"red": r, "green": g, "blue": b})
from scipy.cluster.vq import kmeans
cluster_centers, distortion = kmeans(df[["red", "green", "blue"]], 7)
print(cluster_centers)
Возвращено только 3 центра кластера, ожидается 7
Я ожидал, что вернется обратно столько же цветов, сколько определено в функции kmeans.