How do I convert RGB color values to English color names in Python?

Linda Hamilton
Release: 2024-10-30 23:08:30
Original
1070 people have browsed it

How do I convert RGB color values to English color names in Python?

How to Convert RGB Color to English Color Name in Python

When dealing with images or color manipulation in Python, you may encounter situations where you need to convert an RGB color tuple to its corresponding English color name. Unfortunately, Python doesn't natively provide a simple way to do this.

However, thanks to the webcolors library, you can easily accomplish this task. webcolors offers the rgb_to_name() function, which takes a 3-tuple of RGB values as input and returns the nearest CSS3 color name. For instance:

<code class="python">import webcolors
rgb_color = (119, 172, 152)
color_name = webcolors.rgb_to_name(rgb_color)
print(color_name)  # Outputs: 'cadetblue'</code>
Copy after login

If you want to find the most similar English color name for a given RGB value, you can use the following code:

<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>
Copy after login

This function measures the Euclidean distance between the given RGB color and all CSS3 colors, returning the color name with the smallest distance.

To actually retrieve the color name, you can use it as follows:

<code class="python">color_name = closest_color((119, 172, 152))
print(color_name)  # Outputs: 'cadetblue'</code>
Copy after login

In this example, the result is 'cadetblue,' which is the name of the closest color to (119, 172, 152) in the CSS3 color space.

The above is the detailed content of How do I convert RGB color values to English color names in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template