ComenzarEmpieza gratis

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

Ver curso

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()
Editar y ejecutar código