Перейти к содержимому
Compvision.ru
2expres

Алгоритм получения палитры цветов

Recommended Posts

2expres    3

У меня задача.

Задается количество цветов (16, 32, 64) и есть 24-битное изображение. Как правильно привести изображение к заданной палитре (16, 32 или 64 цвета), чтобы изображение сильно не искажалось. Простое отбрасывание разрядов не предлагать. Нужен именно алгоритм, а не готовое изображение. 

Заранее спасибо за ответы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Smorodov    523

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2expres    3
24 минуты назад, Smorodov сказал:

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

Кластеризация - это почти что сегментация изображения, а задача стоит обратная: упростить сегментацию используя меньшую цветность. Нет ли более примитивных средств?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Smorodov    523

А, наверное я неправильно понял. Посмотрите тогда color dithering , например здесь  есть: https://github.com/dpiccone/dithering_algorithms 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2expres    3
В 29.04.2017 at 19:14, Smorodov сказал:

А, наверное я неправильно понял. Посмотрите тогда color dithering , например здесь  есть: https://github.com/dpiccone/dithering_algorithms 

Спасибо. Дизеринг - это интересная вещь для формирования недостающего цвета шахматкой из доступной палитры цветов. Но для сегментации  дает отрицательный результат, увеличивая количество сегментов. Может кто знает в формате *.GIF применяется политра цветов. Есть политры фиксированные и оптимизированные. Где можно почитать про алгоритм получения оптимизированной палитры? 

http://citforum.ru/internet/webd/article_8.shtml

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Smorodov    523

Как я понял, в статье по ссылке упоминается как раз подход с k-means сегментацией.

Цвета палитры это центры кластеров. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2expres    3

Смотрел алгоритм k-means, имею даже программу сегментации на базе этого алгоритма. Фотографию 24 МП обрабатывает 28 минут!!! Нет ли другого быстрого пусть и менее качественного алгоритма?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Smorodov    523

Ну так можно же фотографию 24 MP уменьшить до 0.3 MP и собрать ту же статистику намного быстрее.

Ну или собирать данные с заданным шагом, а не каждый пиксель, а в одной  из программ я просто 100000 точек  со случайными координатами собирал и по ним кластеры считал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×