Я прохожу курс Machine Learnirg на Coursera и после его реализации в Octave я делаю его на Python.Я выполняю упражнение, которое берет изображение 128x128 с цветами RGB, применяет К-образное средство с 16 кластерами (чтобы найти наиболее значимые 16 цветов), а затем снова печатает изображение.Проблема в том, что когда я запускаю его в Octave, изображение выглядит аналогично оригиналу, но в Python изображения не очень похожи ( images ).
Я пытался изменить параметрыкластеризации, но ничего не решило проблему.Код, который я делаю, выглядит следующим образом:
import imageio
from sklearn.cluster import KMeans
image = imageio.imread('bird_small.png')
extended_image = image.reshape(128*128, 3)
extended_image = extended_image/255
image_km = KMeans(n_clusters=16, n_init=100)
image_km.fit(extended_image)
clusters = image_km.predict(extended_image)
centroids = image_km.cluster_centers_
reduced_extended_image = extended_image
# Here I substitue each data color point for the centroid
for i in range(0, len(extended_image)):
color = clusters[i]
reduced_extended_image[i, :] = centroids[color, :]
compressed_image = reduced_extended_image.reshape(128, 128, 3)
plt.imshow(compressed_image)
Если кто-либо из вас пытался запустить код, изображение 'bird_small.png' будет здесь
Знаете ли вы, где может быть проблема?Спасибо