Maison  >  Article  >  interface Web  >  Comment convertir des tuples de couleurs RVB en noms de couleurs anglais en Python ?

Comment convertir des tuples de couleurs RVB en noms de couleurs anglais en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-29 06:41:02725parcourir

How to Convert RGB Color Tuples to English Color Names in Python?

Conversion de tuples de couleurs RVB en noms de couleurs anglais en Python

Cette question vise à convertir un tuple de couleurs RVB en son nom de couleur anglais correspondant, comme « vert » ou « bleu ». Un exemple spécifique est fourni dans lequel une image est ouverte, sa couleur la plus dominante est déterminée et le tuple de couleurs (119, 172, 152) est obtenu. Le défi est de trouver une méthode python capable de convertir ce tuple en nom de couleur.

La solution réside dans l'exploitation de la bibliothèque webcolors. Grâce à sa fonction rgb_to_name, il est possible de traduire le tuple RVB directement en son nom de couleur normalisé. Par exemple, rgb_to_name((0, 0, 0)) renvoie « noir ».

Pour le tuple de couleurs fourni (119, 172, 152), cependant, la bibliothèque ne peut pas trouver de correspondance exacte. Pour surmonter cette limitation, une fonction modifiée appelée plus proche_color a été créée. Cette fonction calcule la distance euclidienne entre la couleur RVB donnée et tous les noms de couleurs connus dans la norme CSS3. En minimisant cette distance, il identifie le nom de couleur correspondant le plus proche, dans ce cas, « cadetblue ».

En utilisant la fonction get_colour_name, les noms de couleurs réels et les plus proches peuvent être facilement récupérés. Dans le cas de (119, 172, 152), le nom de couleur réel est Aucun (indiquant aucune correspondance exacte), tandis que le nom de couleur le plus proche est « bleu cadet ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn