Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Преобразование BMP из 24bit в 8bit


Автор: fire64 28.11.2010, 13:16
Я сейчас работаю над конвертером BMP файлов из 24 бит в 8 бит.

С самим форматом все нормально, изображение конвертируется, но я не знаю как быть с самими цветами.

Если в оригинале было несколько тысяч цветов, то как их количество уменьшить до 256 без потери качества ?


Автор: Void 28.11.2010, 14:02
Цитата(fire64 @  28.11.2010,  15:16 Найти цитируемый пост)
Если в оригинале было несколько тысяч цветов, то как их количество уменьшить до 256 без потери качества ?

Совсем без потерь нельзя. Есть алгоритмы для получения визуально близких результатов.
http://en.wikipedia.org/wiki/Color_quantization
http://en.wikipedia.org/wiki/Floyd–Steinberg_dithering
И далее по ссылкам.

Автор: maxim1000 28.11.2010, 14:25
надо бы посмотреть на две вещи:
1. какие изображения будут обрабатываться
2. кому это нужно

может, пользователям этой функциональности вообще достаточно серого цвета...

Автор: bsa 30.11.2010, 15:24
fire64, если не секрет, зачем ты над этим работаешь? Если задача не учебная, то возьми готовое решение, например, DevIL или freeimage

Автор: fire64 3.12.2010, 13:57
bsa, DevIL кажется не умеет конвертировать изображения в 8 битный формат.

Насчет freeimage, сейчас гляну.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)