Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
book.rtf
Скачиваний:
9
Добавлен:
01.07.2025
Размер:
17 Мб
Скачать
☆

Увеличиваем число пикселов в изображении Нестрогое сравнение различных реализаций функции Resample

Для качественной полиграфической печати разрешение должно быть равно 300 dpi. Это означает, что для получения качественной фотографии размером 10 х 15 см (4 х 6 дюймов) необходимо располагать цифровым изображением 1200 х 1800 пикселов. Это в идеале. На практике же часто возникает желание и/или необходимость на основе имеющегося числа пикселов напечатать изображение большего формата.

В некоторых случаях задача решается очень просто. Величина 300 dpi предполагает, что изображение будет рассматриваться с минимального расстояния комфортного восприятия (ок. 25 см), то есть зритель будет держать картинку в руках. Если же картинка будет значительно удалена от зрителя, то величину 300 dpi можно смело уменьшить. Так, например, нет никакого смысла печатать уличный рекламный плакат с разрешением 300 dpi. Для такого случая вполне подойдет существенно меньшее разрешение.

А как все же быть в тех случаях, когда расстояние просмотра невелико, а формат печати надо увеличить? Выход только один — увеличить число пикселов в изображении. При этом, конечно же, не стоит рассчитывать на то, что в изображении появятся более мелкие детали. Увеличение числа пикселов преследует совсем другие цели. В общих чертах, требуется так раздвинуть исходные пиксели и заполнить образовавшиеся пустоты между ними, чтобы:

контуры линий сохранили достаточную степень гладкости;

тональные цветовые переходы получились достаточно плавными;

субъективно воспринимаемые резкость и четкость ухудшились незначительно.

Откуда взять недостающие пикселы?

Увеличить число пикселов в изображении можно с помощью практически любого графического редактора. Для этого надо воспользоваться функцией, которая чаще всего носит одно из следующих названий: Image Size, Resize, Resample и т.п.

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

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

Возьмем в качестве исходного изображения простой квадрат размером 3 х 3 пиксела (см. рисунок ниже). Увеличим его линейные размеры в два раза. Площадь нового квадрата (6 х 6 пикселов) возрастет в четыре раза. На каждый исходный пиксел теперь будет приходится четыре пиксела (три новых + один исходный). Если мы просто выкрасим все три новых пиксела в цвет базового пиксела (а именно это и происходит при выполнении функций типа RESIZE:RESAMPLE:NEAREST NEIGHBOUR, и т.п.), то это будет равнозначно увеличению размера пиксела. В этом случае плавные линии контуров на изображении приобретут заметную «ступенчатость». Плавность тональных переходов тоже будет нарушена. В общем, это не самый хороший выход из положения, если мы не предполагаем увеличение дистанции просмотра.

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

Более сложные алгоритмы могут быть ориентированы на:

построение гладких кривых через базовые точки (при этом сами эти кривые могут определяться довольно сложными функциями, а цвет промежуточных пикселов будет зависеть от цвета как ближайших, так и более удаленных пикселов);

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

Рассмотрим, к чему приводит применение более сложных алгоритмов на нашем простейшем примере.

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

Рисунок 7.1

Применение простейшей «бикубической интерполяции» (Bicubic Resample/Adobe®Photoshop®), позволяет окрасить новые пиксели в промежуточные цвета и сохранить при этом на приемлемом уровне контурную резкость.

Как видно из вышеприведенного рисунка, фильтры Mitchel и B-Spline, имеющиеся в бесплатной программе Irfan View, позволяют добиться большей плавности промежуточных полутонов ценой значительного уменьшения контурной резкости.

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

Оригинальный результат получается при использовании модуля Genuine Fractals™ (платный plug-in для Adobe® Photoshop®). С одной стороны, для нашего примера применение этого фильтра нарушило осевую симметрию исходного блока пикселов (все остальные рассматриваемые фильтры симметрию сохранили). С другой стороны, разработчики этого инструмента явно по-своему подошли к вышеупомянутой альтернативе «резкость линий — плавность переходов». Категорические выводы делать, я полагаю, неуместно. Однако вполне допускаю, что этот оригинальный подход может спасти ситуацию в некоторых случаях.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]