Механикус С.Название статьи: Об алгоритмах масштабирования. BDSizer. Источник: http://mechanicuss.livejournal.com/82978.html Началось с того, что снимал один из сюжетов для журнала. В фотоаппарате забыл переключить значение ISO, и фото получилось шумноватым. Причем в фотошопе, будучи смасштабированным до 25%, выглядело нормально. А в любимой смотрилке FastStone Image Viewer при таких же раскладах, шум существенно портил картинку. Задумалсо об алгоритмах масштабирования изображений. В фотошопе (CS2) применяются пять алгоритмов: Nearest Neighbor, Bilinear, Bicubic, а также Bicubic Smoother и Bicubic Sharper (по умолчанию используется Bicubic). Нашел в смотрилке включение режима качественного масштабирования (по умолчанию он выключен, т.к. качественное масштабирование занимает больше времени) - здесь алгоритмов было три: Fast Linear, Linear и некий таинственный Lanczos3. И если обо всех перечисленных перечисленных алгоритмах кроме последнего я имел хоть какое-то представление, то о Lanczos3 услыхал впервые. Поисковики навскидку ничего о нем не выдали (именно о математике) - надо будет поискать тщательнее. Но включение качественного масштабирования с упомянутым алгоритмом весьма порадовало! Картинка была очень качественной. Развивая мысль, захотелось не только масштабировать фото в смотрилке с помощью этого чудодейственного алгоритма, но и применять его для уменьшения фотографий - скажем для того же выкладывания в ЖЖ. В итоге была найдена не менее чудодейственная утилитка - BDSizer. Что примечательно - как и множество других фриварных инструментов - не требующая инсталляции, довольно легкая (1.68Mb) и очень юзабельная. Привожу пример фото, уменьшенного (размеры в пикселях и в килобайтах идентичны) фотошопом (слева) и BDSizer (справа). ![]() ![]() Впечатляет? :) В фотошопе применялся для уменьшения алгоритм Bicubic. Отмечу что при смене его на Bicubic Sharper результаты были чуть лучше - но до BDSizer никоим образом недотягивали. И в заключении краткая инструкция по пользованию BDSizer, найденная на одном из форумов: 1. После окончания работы с фото в ФШ(предварительно сохранив оригинал в необходимом вам формате), перевести в 8 Бит, конвертировать в sRGB, сохранить в JPEG с качеством 10 (предварительно фото не сжимать!!! и настоятельно НЕ рекомендую шарпить!!!). 2. Открыть BDSizer, загрузить сохраненный в JPEG снимок и задать следующие параметры: размер (имеется в виду размер по длиной стороне) какой хотите, обычно 700-800 для горизонтальных и 600-650 для вертикальных, алгоритм сжатия LANCZOS3 !!!!!!!! только этот, ДРУГИЕ НЕ ИСПОЛЬЗОВАТЬ!!!, поставить галочку напротив резкости если надо! После этого жмете кнопку RECIZE IMAGE и контролируете полученный результат в окне предпросмотра. 3. Выставляете желаемый вес изображения в Кб (обычно от 100 до 150 в зависимости от сайта) и жмете кнопку СОХРАНИТЬ, после чего появляется окно сохранения, где вы указываете имя файла и место сохранения. Все! На этом работа закончена. Больше никакие функции этой проги я не использую. Качество сжатия - намного лучше, чем все, до сиих пор мне известное ПО делало. Upd: нашел информацию о математике Lanczos3. Для справки привожу текст и по остальним алгоритмам: "Nearest neighbor". Быстрейший и худший метод, поскольку используется попросту значение бижайшей точки исходной картинки. По сути, часть точек отбрасывается (при уменьшении) либо дуплицируется (при увеличении). Мое замечание по скорости работы: уменьшение фото - это не монтаж видео, и здесь разница в скорости работы совершенно не принципиальна. Скажем на моем компьютере уменьшеншение картинки в фотошопе на глаз заняло около 0.5с, а в BDSizer - около 1с. Ссылки по теме: |