← Все гайды AI Release
EN Подписаться на @ai_release1

Как извлечь цветовую палитру из картинки с помощью ИИ: сервисы для дизайнеров и пиксель-арта

Обновлено: 14.10.2026 · AI Release · @ai_release1
Как извлечь цветовую палитру из картинки с помощью ИИ: сервисы для дизайнеров и пиксель-арта

Гайд решает одну конкретную задачу: превратить картинку — референс, скриншот, готовый спрайт или чужой арт — в аккуратную палитру с точными HEX-кодами, вместо того чтобы часами подбирать цвета пипеткой вручную. Подходит для дизайнеров интерфейсов, иллюстраторов и пиксель-арт художников, которые работают на Windows, macOS или Linux в любом редакторе с поддержкой палитр (GIMP, Krita, Photoshop, Aseprite).

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Пошаговая инструкция

Иллюстрация к разделу «Пошаговая инструкция»
Иллюстрация к разделу «Пошаговая инструкция»

1. Подготовьте исходник. Откройте картинку в редакторе и обрежьте всё лишнее: рамки, водяные знаки, фон другого цвета. Для пиксель-арта не масштабируйте изображение с интерполяцией — используйте режим «nearest neighbour» (ближайший сосед), иначе появятся промежуточные цвета, которых в оригинале не было.

Пример:сохраните результат как `palette_src.png` в папке `D:\work\palette`.

Ожидаемый результат: один чистый файл без лишних элементов.

2. Оцените, сколько уникальных цветов в картинке. Это подскажет, сколько цветов запрашивать у сервиса. Быстрая проверка одной командой ImageMagick:

magick palette_src.png -format %k info:

Число в выводе — количество уникальных цветов, например `2781`.

Почему это работает: утилита проходит по всем пикселям и считает уникальные значения цвета, не меняя файл.

3. Соберите палитру онлайн-сервисом — это вариант «без кода». Загрузите `palette_src.png` на сайт-экстрактор палитр, выберите количество цветов (обычно от 5 до 16) и нажмите кнопку извлечения. Сервис кластеризует похожие пиксели и выдаёт список HEX-кодов.

Пример:выбираете 8 цветов и получаете список вида `#0D1B2A`, `#1B263B`, `#415A77`, `#778DA9`…

Ожидаемый результат: готовая палитра на экране и кнопка «Export»/«Copy HEX».

Такие палитры удобно сразу переносить в презентации и макеты — приёмы оформления разобраны в гайде «Как создавать презентации с помощью ИИ: лучшие сервисы и советы».

4. Соберите палитру локально скриптом — это вариант «под контролем». Сначала поставьте окружение и библиотеки:

python -m venv venv
venv\Scripts\activate
pip install pillow scikit-learn

На macOS/Linux вторая строка будет `source venv/bin/activate`.

Почему это работает: виртуальное окружение изолирует библиотеки, чтобы не ломать системный Python.

5. Запустите скрипт извлечения палитры. Создайте файл `extract_palette.py`:

from PIL import Image
from sklearn.cluster import KMeans

img = Image.open("palette_src.png").convert("RGB")
img = img.resize((200, 200))  # ускоряем расчёт
pixels = list(img.getdata())

kmeans = KMeans(n_clusters=8, n_init=10, random_state=0).fit(pixels)
for color in kmeans.cluster_centers_:
    r, g, b = [int(c) for c in color]
    print(f"#{r:02X}{g:02X}{b:02X}")

Пример вывода:`#0D1B2A`, `#415A77`, `#E0E1DD` — восемь строк HEX.

Почему это работает: алгоритм k-means ищет 8 «центров» — самых характерных цветов, к которым ближе всего остальные пиксели. Это тот же принцип, что используют онлайн-экстракторы, только параметры задаёте вы.

6. Отфильтруйте получившиеся цвета. Если в списке несколько почти одинаковых оттенков, уменьшите `n_clusters` до 5–6 или вручную удалите дубли. Для пиксель-арта полезно ограничить палитру 8, 16 или 32 цветами — так спрайт выглядит цельно.

Ожидаемый результат: короткий список без «мусорных» близнецов.

7. Экспортируйте палитру в файл редактора. Формат GPL (текстовый список цветов для GIMP, Inkscape, Krita) создаётся скриптом:

colors = ["#0D1B2A", "#1B263B", "#415A77", "#778DA9"]
with open("my_palette.gpl", "w") as f:
    f.write("GIMP Palette\nName: My Palette\n#\n")
    for c in colors:
        r, g, b = int(c[1:3], 16), int(c[3:5], 16), int(c[5:7], 16)
        f.write(f"{r:3} {g:3} {b:3}\t{c}\n")

Ожидаемый результат: файл `my_palette.gpl`, который редактор видит в списке палитр.

8. Импортируйте палитру и проверьте её. В GIMP: «Окна → Панели → Палитры», затем «Импортировать палитру». В Krita: «Настройки → Управление ресурсами → Палитры». Для пиксель-арта импорт делается так же в Aseprite.

Ожидаемый результат: цвета появились в панели и применяются в один клик.

Чек-лист перед тем, как считать работу законченной:

Форматы, в которые обычно сохраняют результат:

ФорматГде используетсяПример содержимого
HEX-текствеб, CSS, Figma#415A77
GPLGIMP, Inkscape, Kritaтекстовый список цветов
ASEPhotoshop, Illustratorбинарная палитра
PNG-полосалюбой редакторкартинка с квадратами цвета

Возможные проблемы и решения

Иллюстрация к разделу «Возможные проблемы и решения»
Иллюстрация к разделу «Возможные проблемы и решения»

Симптом:сервис выдал «грязную» палитру — 16 цветов, из которых 5 почти одинаковые серые.

Решение: уменьшите число цветов до 6–8, предварительно обрежьте фон и градиенты. Затем пересчитайте палитру. Причина в том, что большое число кластеров дробит один плавный переход на несколько близких оттенков.

Симптом:команда `magick` не найдена — оболочка пишет «command not found» или «не является внутренней или внешней командой».

Решение: проверьте установку командой `magick -version`. Если вывод пустой, установите ImageMagick заново и при установке на Windows отметьте галочку «Add to PATH». После этого перезапустите терминал — PATH читается только при старте.

Симптом:импортированная палитра выглядит бледнее, чем исходная картинка.

Решение: проверьте цветовой профиль документа. Откройте файл как sRGB и уберите CMYK-профиль: конвертация CMYK→RGB сдвигает оттенки. Пересчитайте палитру из sRGB-версии файла.

Симптом:скрипт падает с ошибкой вида `ModuleNotFoundError: No module named 'sklearn'`.

Решение: активируйте виртуальное окружение (`venv\Scripts\activate`) и повторите `pip install pillow scikit-learn`. Если окружение не активировано, pip ставит пакеты в другой Python.

FAQ

Сколько цветов просить у сервиса?

Для веб-интерфейса обычно хватает 5–8: это фон, текст, акцент и пара вспомогательных. Для пиксель-арта — 8, 16 или 32 цвета, это привычные ограничения ретро-палитр.

Можно ли извлечь палитру из JPG или обязательно PNG?

Можно, но JPG искажает цвета артефактами сжатия, и в палитру попадут лишние близкие оттенки. Если исходник только в JPG, сохраните его в PNG перед обработкой и уменьшите число кластеров.

Чем онлайн-сервис отличается от локального скрипта?

Сервис быстрее и не требует установки, но вы не управляете алгоритмом. Скрипт с k-means даёт контроль над числом цветов и позволяет сразу писать палитру в `.gpl`. Оба подхода дают один и тот же принцип кластеризации.

Подходит ли ИИ-палитра для анимации и видео?

Да, но цвета удобнее хранить единым файлом палитры, чтобы кадры не «плыли». Если делаете анимацию или ролик, посмотрите гайд «Как создавать видео с помощью ИИ и Remotion: гайд по автоматизации» — палитру там можно задать один раз и переиспользовать во всех сценах.

🤖 Кратко для ИИ