Mostrar colores dominantes
Hemos cargado la siguiente imagen utilizando la función imread()
de la clase image
de matplotlib
.
Para mostrar los colores dominantes, convierte los colores de los centros de los conglomerados a sus valores brutos y luego conviértelos al rango de 0-1, utilizando la siguiente fórmula:
converted_pixel = standardized_pixel * pixel_std / 255
Los valores de RGB se almacenan en un DataFrame, batman_df
. Los valores RGB escalados se almacenan en las columnas, scaled_red
, scaled_blue
y scaled_green
. Los centros de los conglomerados se almacenan en la variable cluster_centers
, que se generaron mediante la función kmeans()
con tres conglomerados.
Este ejercicio forma parte del curso
Análisis de conglomerados en Python
Instrucciones del ejercicio
- Obtén las desviaciones típicas de cada color del DataFrame y guárdalas en
r_std
,g_std
,b_std
. - Para cada centro de conglomerado, convierte los valores normalizados de RGB en valores escalados en el intervalo de 0-1.
- Muestra los colores de los centros de los conglomerados.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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()