Дискретизация
Изменение числа точек изображения называется дискретизацией. Эта операция очевидным образом влияет на размеры экранной версии изображения, которая на мониторе с неизменными характеристиками становится больше или меньше, в зависимости от заданных значений.
Поясним эту операцию на примере изображения из стандартной коллекции редактора (см. рис. 1.5). Оригинальная версия картинки, которая занимает среднюю позицию, имеет разрешение в 72 dpi. Увеличение разрешения в два раза влечет за собой возрастание количества точек и рост линейных размеров экранной версии изображения (нижний образец). Уменьшение разрешения продуцирует прямо противоположные последствия (верхний образец).
Рис. 1.5. Изменение экранных размеров одного оригинала при выборе различных значений разрешения.
На этом рисунке показаны версии одного изображения при разных разрешениях: верхний вариант имеет разрешение 36 dpi, средний – 72, нижний – 144 dpi. С многократным увеличением показан фрагмент глаза.
В отличие от масштабирования дискретизация – это операция, неэлементарная с вычислительной точки зрения, поскольку она решительно вмешивается в структуру изображения.
Пусть имеется изображение размером 400*400 точек. Если сократить его экранные размеры до 300*300, то, на первый взгляд, это означает незначительное вмешательство в оригинал – сокращение всего лишь натри четверти. Иная картина открывается, если подсчитать количество точек до операции и после. Исходная картинка состояла из 400*400 = 160000, а после преобразования насчитывает 300*300 = 90 000 – почти наполовину меньше. Понятно, что такая масштабная по своим последствиям операция не может не сказаться на качестве картинки.
Еще более сложные задачи приходится решать при увеличении количества точек. Если при их уменьшении программа просто отбрасывает лишние пикселы, то при увеличении матрицы дополнительные точки надо "придумать". Добавление новых пикселов выполняется по специальным алгоритмам интерполяции.
На заметку
Уменьшение количества точек изображения – это сравнительно безопасная процедура, которая не оказывает прямого влияния на качество оригинала. Увеличение точек сложнее по своим алгоритмам и последствиям. Небольшое приращение растра не влечет за собой заметных отрицательных последствий. Масштабное преобразование такого рода почти всегда ухудшает резкость изображения, отчасти размывая образ.
В растровой графике получили распространение три основных метода дискретизации (все они поддерживаются редактором Photoshop), которые различаются между собой скоростью работы и точностью результатов.
- Nearest Neighbor (Метод ближайшего соседа). Самый простой метод интерполяции, обладающий высокой скоростью работы и результатами не самого высокого качества. В качестве образца для нового пиксела берутся характеристики его ближайшего фактического соседа. Метод дает неплохие результаты для областей с регулярной геометрией, например прямых линий, прямоугольников и пр.
- Bilinear (Билинейная интерполяция). Этот метод несколько сложнее в реализации, но дает лучшие результаты по сравнению с методом Nearest Neighbor. Параметры новой точки рассчитываются усреднением цветовых или тоновых характеристик соседних действительных пикселов изображения. Свои преимущества метод показывает при уменьшении количества точек изображения. Рациональной областью его применения является обработка изображений среднего качества.
- Bicubic (Бикубическая интерполяция). Это лучший метод интерполяции, по этой причине он принят по умолчанию в редакторе Photoshop. Новые точки рассчитываются по существующим соседям на основе несколько более сложных алгоритмов, чем в предыдущем методе.
- Bicubic Smoother (Бикубический со сглаживанием). Вариант метода бикубической интерполяции, который впервые появился в версии Photoshop CS. Он предназначен для дискретизации изображений высокого качества при увеличении их размеров.
- Bicubic Sharper (Бикубический с настройкой резкости). Вариант метода бикубической интерполяции. Он дебютировал в последней версии редактора и предназначен для обработки качественных изображений при уменьшении их размеров.