Skip to content

VladislavKovalenko/Krita-HSB-Palette-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Palette Analyzer — плагин для Krita

Анализ цветовой палитры изображения на основе HSB-модели и алгоритма кластеризации K-Means.


1. Использованные фреймворки и алгоритмы

Фреймворки

Технология Назначение
Krita Python API Доступ к документу, слоям и пиксельным данным активного слоя
PyQt5 Построение пользовательского интерфейса (виджеты, сигналы, отрисовка)
Python 3 (стандартная библиотека) hashlib, struct, random — вспомогательные вычисления без внешних зависимостей

Алгоритмы

  • K-Means кластеризация — группировка пикселей в k цветовых кластеров для извлечения доминантных цветов палитры.
  • K-Means++ инициализация — выбор начальных центроидов с вероятностью, пропорциональной квадрату расстояния до ближайшего уже выбранного центра. Обеспечивает более быструю сходимость и стабильный результат по сравнению со случайной инициализацией.
  • Конвертация RGB ↔ HSB — перевод цветов между моделями для отображения на квадрате Saturation × Brightness.
  • Кэширование по SHA-256 — повторный анализ того же слоя с тем же числом цветов возвращает результат мгновенно.
  • Debounce-опрос (polling + single-shot timer) — плагин каждые 800 мс проверяет, сменился ли активный слой, и запускает анализ с задержкой 300 мс, чтобы избежать лишних пересчётов при быстром переключении слоёв.

2. Установка плагина

  1. Откройте папку ресурсов Krita. Путь по умолчанию:

    • Windows: %APPDATA%\krita\pykrita\
    • Linux: ~/.local/share/krita/pykrita/
    • macOS: ~/Library/Application Support/krita/pykrita/
  2. Скопируйте в неё 2 элемента:

    krita_palette_analyzer ← это основная папка со скриптом
    krita_palette_analyzer.desktop   ← файл регистрации
    
  3. Запустите Krita → Настройка → Настройка Krita → Управление модулямии Python.

  4. Найдите Palette Analyzer в списке и активируйте его (поставьте галочку).

  5. Перезапустите Krita.

  6. Откройте плагин: Сервис → Palette Analyzer.


3. Вкладка «Палитра»

Основная вкладка для просмотра извлечённой цветовой палитры.

image

Что отображается

  • HSB-квадрат — градиентное поле Saturation (ось X, слева направо) × Brightness (ось Y, снизу вверх). Оттенок (Hue) соответствует выбранному цвету. На квадрате отмечена точка, показывающая положение текущего цвета в пространстве S–B.

  • Полоса свотчей (цветовых образцов) — ряд цветных прямоугольников, каждый из которых представляет один кластер палитры. Под каждым свотчем указан процент пикселей, принадлежащих данному кластеру. Свотчи автоматически переносятся на новую строку, если не помещаются по ширине.

Взаимодействие

  • Клик по свотчу — выделяет его белой рамкой и перестраивает HSB-квадрат под оттенок (Hue) выбранного цвета, перемещая точку в соответствующую позицию S–B.
  • Tooltip при наведении на свотч — всплывающая подсказка с точными значениями RGB и HSB.

4. Вкладка «Восприятие»

Вкладка для оценки того, как цвета палитры распределяются по зонам психологического восприятия.

image

Что отображается

  • HSB-квадрат со всеми цветами палитры одновременно — на одном поле нанесены точки всех извлечённых цветов. Hue берётся от первого (доминантного) цвета палитры.

  • Оверлей зон восприятия (включается в настройках) — полупрозрачные цветные области поверх градиента, каждая из которых соответствует определённой психологической характеристике цвета:

    Зона Диапазон S Диапазон B Описание
    Мёртвая зона 0–100 % 0–15 % Почти чёрный — глаз едва различает
    Насыщенный тёмный 50–100 % 15–55 % Тёмные насыщенные цвета
    Грязные цвета 10–50 % 25–65 % Воспринимаются тяжело
    Пастель 0–45 % 70–100 % Лёгкие и нежные цвета
    Золотая область 40–75 % 55–92 % Яркие, приятные — не утомляют
    Vibrant 75–100 % 70–100 % Максимальная яркость — привлекают, но утомляют
  • Подписи зон — названия отображаются прямо на квадрате в центре каждой области.

Взаимодействие

  • Tooltip при наведении — при движении курсора по квадрату всплывает подсказка с названием и описанием зоны, в которой находится указатель.

5. Вкладка «Настройки»

Управление параметрами анализа и отображения.

image

Количество цветов палитры

  • Спинбокс + слайдер — синхронизированные элементы для выбора числа кластеров K-Means в диапазоне от 2 до 32 (по умолчанию 8). Изменение значения сбрасывает кэш и запускает повторный анализ активного слоя.

Области психологии цвета

  • Чекбокс «Области психологии цвета» — включает/выключает отображение зон восприятия на HSB-квадрате во вкладке «Восприятие». По умолчанию включён.

  • Легенда зон — список всех шести зон с цветным индикатором, названием и кратким описанием для быстрой справки без переключения вкладок.

About

Plugin fo color analyze

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages