8. Обработка и формирование графических файлов

 8.4. Коррекция графических изображений

 

 

В машинной графике для улучшения или коррекции изображений выполняют ряд манипуляций.  

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

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

С алгоритмической точки зрения, получение этих эффектов не представляет особой сложности. Для этого используется матрица чисел, которую называют ядром свертки. Матрица размером 3´3 содержит три строки по три числа в каждой. Чтобы преобразовать один пиксел в изображении, необходимо умножить значение его цвета на число в центре ядра. Затем умножается восемь значений цветов пикселов, окружающих центральный пиксел, на соответствующие им коэффициенты ядра, суммируются все девять значений, и получают в результате новое значение цвета центрального пиксела. Этот процесс повторяется для каждого пиксела в изображении, тем самым изображение, как принято говорить, фильтруется. Коэффициенты ядра определяют результат процесса фильтрации. Ядро размывания, например, состоит из совокупности коэффициентов, каждый из которых меньше 1, а их сумма составляет 1. Это означает, что каждый пиксел поглотит что-то из цветов соседей, но полная яркость изображения останется неизменной. (Если сумма коэффициентов больше чем 1, яркость увеличится; если меньше чем 1, яркость уменьшится.) В ядре резкости центральный коэффициент больше 1, а окружен он отрицательными числами, сумма которых на единицу меньше центрального коэффициента. Таким образом увеличивается любой существующий контраст между цветом пиксела и цветами его соседей  

Размывание и увеличение резкости.  

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

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

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

Увеличение резкости достигается точно так же, как и размывание, за исключением того, что используются другое ядро.  

Будем преобразовывать то же изображение что и прежде, но с иной целью – увеличить, а не уменьшить четкость изображения.  

При обработке каждого пиксела в изображении используется ядро резкости размером 3´3. Как и прежде, красная, зеленая и синяя цветовые составляющие обрабатываются отдельно и позже объединяются, чтобы сформировать 24-битное значение цвета. Отрицательные веса вокруг центра ядра увеличивают контраст между центральным пикселом и соседями.  

Конечное изображение будет более четким, чем оригинал.  

Тиснение.  

Тиснение делается почти также как размывание и увеличение резкости. Процесс начинается с обычным цветным изображением.  

Каждый пиксел в изображении обрабатывается ядром тиснения размером 3´3. В отличие от ядер размывания и резкости, в которых сумма коэффициентов равна 1, сумма весов в ядре тиснения равна 0. Это означает, что "фоновым" пикселам (пикселам, которые не находятся на границах перехода от одного цвета к другому) присваиваются нулевые значения, а нефоновым пикселам - значения, отличные от нуля.  

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

В тисненом варианте изображения, контуры кажутся выдавленными над поверхностью. Направление подсветки изображения можно изменять, меняя позиции 1 и 1 в ядре. Если, например, поменять местами значения 1 и 1, то реверсируется направление подсветки.  

Акварелизация  

Акварельный фильтр преобразует изображение, и после обработки оно выглядит так, как будто написано акварелью.  

Первый шаг в применении акварельного фильтра – сглаживание цветов в изображении. Одним из способов сглаживания является процесс медианнного осреднения цвета в каждой точке. Значение цвета каждого пиксела и его 24 соседей помещаются в список и сортируются от меньшего к большему. Медианное (тринадцатое) значение цвета в списке присваивается центральному пикселу.  

После сглаживания цветов, компьютер обрабатывают каждый пиксел в изображении ядром резкости, чтобы выделить границы переходов цветов.  

Результирующее изображение напоминает акварельную живопись. Это лишь один пример, который показывает, как можно объединять различные методы обработки изображений и добиваться необычных визуальных эффектов.

Контрольные  вопросы.

1.  Какие действия по коррекции изображений Вам известные?  

2.  Как выполняется акварелизация?  

3.  Как выполняется размывание и увеличение резкости изображений?  

4.  Какие действия выполняются при реализации процедуры тиснения?

     Содержание