Создать программу для раскраски по номерам

Бюджет: по договоренности
Создай программу  для преобразования обычного изображения в «раскраску по номерам».

Основные требования и логика работы:

Загрузка изображения:

Пользователь должен иметь возможность загрузить изображение с компьютера (поддерживаемые форматы: PNG, JPG, JPEG, возможны другие).

После загрузки изображение должно отображаться в окне программы (превью).

Параметры (должны регулироваться слайдерами/полями ввода):

Количество цветов (N): Количество кластеров (доминирующих цветов) для квантования изображения. Задается от 2 до 64.

Максимальный размер сегмента (Max Segment Size): Критически важный параметр. Большие области одного цвета после кластеризации должны принудительно разбиваться на более мелкие геометрические сегменты (ячейки), если площадь непрерывной области превышает заданный порог (в пикселях).

Детализация границ (Blur/Edge): Слайдер для предварительной обработки (размытие/усиление контуров), чтобы влиять на то, насколько подробной будет сегментация.

Алгоритм обработки (этапы):

Предобработка: Размытие для уменьшения шума.

Квантование цветов: Использовать алгоритм для сокращения изображения до заданного количества цветов (N).

Сегментация областей: Найти связанные компоненты (connected components) на квантованном изображении. Это зоны, где пиксели одного цвета граничат друг с другом.

Разделение больших сегментов (ключевой момент):

Проверить каждый сегмент (связанную область) по площади.

Если площадь сегмента превышает Max Segment Size, необходимо разбить эту область на более мелкие части.

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

Нумерация: Каждому уникальному сегменту (после разбиения больших областей) присвоить уникальный номер в соответствии с цветом. Номера должны быть расставлены примерно по центру масс каждого сегмента.

Результат (вывод):

Программа должна генерировать два изображения и отображать их рядом или в отдельных вкладках, а так же в итоге сохранять на компьютер

«Раскраска» (Line Art): Изображение с четкими черными границами между сегментами. Внутри каждого сегмента (области) должен быть написан его номер (белым или черным цветом, в зависимости от фона). Фон должен быть белым (или прозрачным).
«Референс / Ответ» (Colored Reference): Изображение, показывающее, как должен выглядеть итоговый результат, если раскрасить по номерам (т.е. сегментированное изображение с заливкой цветами, но без подписей номеров, либо с номерами, но полупрозрачными).
Интерактивность:

Все параметры (количество цветов, максимальный размер сегмента, размытие) должны быть связаны с кнопками или слайдерами.

При изменении любого параметра и нажатии кнопки «Обновить / Сгенерировать» картинки должны пересчитываться и обновляться в интерфейсе.
Опубликован 30.03.2026 в 09:46

Выберите способ верификации:

Обновите страницу после прохождения верификации.