Bagaimanakah saya menukar nilai warna RGB kepada nama warna Inggeris dalam Python?

Linda Hamilton
Lepaskan: 2024-10-30 23:08:30
asal
998 orang telah melayarinya

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

Cara Menukar Warna RGB kepada Nama Warna Bahasa Inggeris dalam Python

Apabila berurusan dengan imej atau manipulasi warna dalam Python, anda mungkin menghadapi situasi di mana anda perlu menukar tuple warna RGB kepada nama warna Inggeris yang sepadan. Malangnya, Python tidak menyediakan cara yang mudah untuk melakukan ini.

Walau bagaimanapun, terima kasih kepada perpustakaan webcolors, anda boleh menyelesaikan tugas ini dengan mudah. webcolors menawarkan fungsi rgb_to_name(), yang mengambil 3-tuple nilai RGB sebagai input dan mengembalikan nama warna CSS3 yang terdekat. Contohnya:

<code class="python">import webcolors
rgb_color = (119, 172, 152)
color_name = webcolors.rgb_to_name(rgb_color)
print(color_name)  # Outputs: 'cadetblue'</code>
Salin selepas log masuk

Jika anda ingin mencari nama warna Inggeris yang paling serupa untuk nilai RGB tertentu, anda boleh menggunakan kod berikut:

<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>
Salin selepas log masuk

Fungsi ini mengukur Euclidean jarak antara warna RGB yang diberikan dan semua warna CSS3, mengembalikan nama warna dengan jarak terkecil.

Untuk mendapatkan semula nama warna, anda boleh menggunakannya seperti berikut:

<code class="python">color_name = closest_color((119, 172, 152))
print(color_name)  # Outputs: 'cadetblue'</code>
Salin selepas log masuk

Dalam contoh ini, hasilnya ialah 'cadetblue,' iaitu nama warna yang paling hampir dengan (119, 172, 152) dalam ruang warna CSS3.

Atas ialah kandungan terperinci Bagaimanakah saya menukar nilai warna RGB kepada nama warna Inggeris dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!