So konvertieren Sie RGB-Farben in englische Farbnamen in Python
Beim Umgang mit Bildern oder Farbmanipulationen in Python kann es vorkommen, dass Sie müssen ein RGB-Farbtupel in den entsprechenden englischen Farbnamen konvertieren. Leider bietet Python von Haus aus keine einfache Möglichkeit, dies zu tun.
Dank der Webcolors-Bibliothek können Sie diese Aufgabe jedoch problemlos erledigen. webcolors bietet die Funktion rgb_to_name(), die ein 3-Tupel von RGB-Werten als Eingabe verwendet und den nächstgelegenen CSS3-Farbnamen zurückgibt. Zum Beispiel:
<code class="python">import webcolors rgb_color = (119, 172, 152) color_name = webcolors.rgb_to_name(rgb_color) print(color_name) # Outputs: 'cadetblue'</code>
Wenn Sie den ähnlichsten englischen Farbnamen für einen bestimmten RGB-Wert finden möchten, können Sie den folgenden Code verwenden:
<code class="python">def closest_color(rgb_color): min_distance = float('inf') closest_name = None for hex_code, color_name in webcolors.CSS3_HEX_TO_NAMES.items(): r, g, b = webcolors.hex_to_rgb(hex_code) r_diff = (r - rgb_color[0]) ** 2 g_diff = (g - rgb_color[1]) ** 2 b_diff = (b - rgb_color[2]) ** 2 distance = r_diff + g_diff + b_diff if distance < min_distance: min_distance = distance closest_name = color_name return closest_name</code>
Diese Funktion misst den Euklidischen Abstand zwischen der angegebenen RGB-Farbe und allen CSS3-Farben, wobei der Farbname mit dem kleinsten Abstand zurückgegeben wird.
Um den Farbnamen tatsächlich abzurufen, können Sie ihn wie folgt verwenden:
<code class="python">color_name = closest_color((119, 172, 152)) print(color_name) # Outputs: 'cadetblue'</code>
In In diesem Beispiel lautet das Ergebnis „cadetblue“, was der Name der Farbe ist, die (119, 172, 152) im CSS3-Farbraum am nächsten kommt.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich RGB-Farbwerte in Python in englische Farbnamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!