Программа «Color quantizer» и маска повышения качества. Оптимизируем PNG (Portable Network Graphics). Алгоритмы уменьшения изображений
Выбор типа PNG
Автоматическая оптимизация
Оптимизация через Lossy GIF
Постеризация
Простое снижение количество цветов в Photoshop
Программа «Color quantizer» и маска повышения качества
Маска влияния в Adobe Photoshop
Уменьшаем детализацию
Невидимое не значит несуществующее
Разделение непрозрачных и прозрачных областей
Резюме
Изображения неоднородны по детализации и было бы замечательно, если при снижении количества цветов программе можно было бы указать, что какой-то области нужно уделить «больше внимания», то есть выделить большее количество цветов, чтобы эта область выглядела лучше.
На наш взгляд, самая простая и эффективная программа, позволяющая это делать «Color quantizer» (http://x128.ho.ua/color-quantizer.html). Программа всё ещё совершенствуется и находится в стадии тестирования, но уже позволяет получать очень хорошие результаты в пределах 256 цветов.
Рис. 3. 11. Color quantizer, редактирование маски повышения качества
Исходное загруженное изображение занимает 394КБ в полноцветном PNG и 116,8КБ с индексированной палитрой.
Некоторые инструменты, предоставляемые программой, нуждаются в пояснении. В центре — исходное изображение, клик левой клавишей мыши на нём показывает картинку в исходном качестве, что очень удобно для оценки искажений. На скриншоте программа находится в режиме редактирования маски повышения качества (включается кисточкой в верхней панели инструментов), светлыми мазками указаны места, где снижать качество нельзя. Толщину мазка регулирует инструмент справа от кисточки, подчищать маску можно стёркой.
Внизу слева находится выбор алгоритма замещения недостающих цветов, сообщается, что лучше всего работает «Флойд–Штейнберг», хуже всего — «Байер».
Правее идёт поле отладочной информации, ещё правее — два поля, выбор количества цветов и поле, указывающее, сколько процентов палитры резервировать под второй проход. Второе поле сугубо экспериментальное, но неясным образом влияет на качество изображения.
Чуть ниже находятся два ползунка, первый влияет на качество преобразования (чем более влево, тем качественнее и тем медленнее работает программа), второй — экспериментальный, чем больше цветов задано, тем больше его нужно сдвинуть влево, но точного алгоритма тут нет.
Переключатель «RGB/YUV» следует поставить в первое положение для искусственных изображений и во второе для фотографий. Переключатель «mse/msad/psnr» несёт отладочную функцию и для наших целей бесполезен. Кнопка «OK» запускает обработку изображения и её нужно нажимать каждый раз, когда хочется увидеть, к чему привели изменения в настройках.
Справа от изображения видны уровни изображения и его текущая палитра, палитру можно отсортировать по количеству использований цвета (Weight), по оттенку (Color) или яркости (Light). На каждый элемент палитры можно кликнуть мышкой, левая клавиша показывает, где на картинке используется цвет, правая — выводит меню, где элемент можно заменить, удалить и так далее.
Итак, вернёмся к нашему изображению. После снижения количества изображения до 120 цветов качество изображения вполне приемлемо, если бы не некоторые детали — полупрозрачные крылья, блики на усиках и боках пчёл заметно исказились, поэтому мы наносим на них маску повышения качества. После проделанной операции рассматриваем остальные детали, если искажения в них почти незаметны и не требуют нанесения маски, но выглядят, всё же, не идеально, можно попробовать изменить параметр «Dithering», возможно один из алгоритмов подойдёт больше текущего.
В итоге, изображение пчёл стало занимать 66,48КБ, что на 43% лучше, чем предыдущий результат.
На этапе подготовки этой книги вышла новая версия программы.
Появилось несколько интересных улучшений: полный перебор всех параметров pngout (включается отдельной кнопкой с двумя дискетами на панели инструментов), работает он очень долго, но эффективно, появился усредняющий фильтр («метла» в панели инструментов), который усредняет соседние цвета, что способствует лучшему сжатию изображения. Фильтр позволяет указать алгоритм усреднения (например, «только по вертикали»), его «жёсткость» и степень усреднения. Жёсткий фильтр хорошо подходит для фотографий, мягкий может применяться для снижения шума в изображении.
Ещё одно долгожданное улучшение — изменение масштаба рабочей области. Этот инструмент доступен в меню правой клавиши мыши, также масштабом можно управлять клавишами «+» и «-» на цифровой клавиатуре.