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.  Які дії виконуються при реалізації процедури тиснення?

     Зміст