Aan de slagGa gratis aan de slag

Dominante kleuren weergeven

We hebben de volgende afbeelding geladen met de functie imread() van de image-klasse van matplotlib.

Om de dominante kleuren weer te geven, zet je de kleuren van de clustercentra om naar hun ruwe waarden en vervolgens naar het bereik 0-1 met de volgende formule: converted_pixel = standardized_pixel * pixel_std / 255

De RGB-waarden staan in een DataFrame, batman_df. De geschaalde RGB-waarden staan in de kolommen scaled_red, scaled_blue en scaled_green. De clustercentra staan in de variabele cluster_centers, die zijn gemaakt met de functie kmeans() met drie clusters.

Deze oefening maakt deel uit van de cursus

Clusteranalyse in Python

Cursus bekijken

Oefeninstructies

  • Haal de standaarddeviaties van elke kleur uit het DataFrame en sla ze op in r_std, g_std, b_std.
  • Zet voor elk clustercentrum de gestandaardiseerde RGB-waarden om naar geschaalde waarden in het bereik 0-1.
  • Geef de kleuren van de clustercentra weer.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Get standard deviations of each color
____, ____, ____ = batman_df[['red', 'green', 'blue']].___()

for cluster_center in cluster_centers:
    scaled_r, scaled_g, scaled_b = cluster_center
    # Convert each standardized value to scaled value
    colors.append((
        scaled_r * ____ / ____,
        scaled_g * ____ / ____,
        scaled_b * ____ / ____
    ))

# Display colors of cluster centers
plt.____(____)
plt.show()
Code bewerken en uitvoeren