i>
Виділення простий області
Переміщення
Масштабування
Масштаб - у загальному випадку відношення двох лінійних розмірів. У багатьох областях практичного застосування, масштабом називають відношення розміру зображення до розміру зображуваного об'єкта.
Масштабування - зміна розміру зображення зі збереженням пропорцій.
Під масштабуванням мається на увазі, як збільшення, так і зменшення розмірів зображення. В даний час масштабування виконується за допомогою комп'ютерної техніки. При цьому, залежно від типу графіки (растрова, векторна), масштабування здійснюється за різними алгоритмами. Якщо графіка векторна, то масштабування відбувається без втрат якості зображення, якщо растрова, то при масштабуванні відбувається втрата якості зображення.
Розмір зображення може бути змінений декількома способами. Розглянемо подвоєння розміру наступного зображення (Рис 2.2.1):
lt; # 80 src= doc_zip2.jpg / gt;
Малюнок 2.2.2 - Метод копіювання найближчого пікселя
Отримане зображення більше оригіналу, і зберігає його деталі, але набуває небажаний сходовий ефект. Діагональні лінії букви W, наприклад, мають характерну форму драбинки .
Інші методи краще підходять для збереження гладких контурів зображення. Приміром, білінійна інтерполяція дає наступний результат (Мал. 2.2.3):
lt; # 80 src= doc_zip4.jpg / gt;
Малюнок 2.2.4 - Бикубическая інтерполяція.
Також існують сглаживающие алгоритми, які підходять для обробки фото і багатобарвних растрових зображень з ефектом драбинки, які називаються supersampling (згладжування методом сверхмасштаба ).
У програмі реалізований метод билинейной інтерполяції зображення. Цей метод дає набагато більш кращі результати, ніж метод найближчих сусідів і за високого рівня інтерполювання зображення мало чим поступається методу бикубической інтерполяції.
Ключова ідея полягає в тому, щоб провести звичайну лінійну інтерполяцію спочатку в одному напрямку, потім в іншому.
Приклад билинейной інтерполяції в одиничному квадраті. Значення вершин складають 0, 1, 1 і 0.5. Інтерпольованізначення в кожній точці представлені кольором Рис (2.2.5):
Малюнок 2.2.5
Припустимо, що необхідно інтерполювати значення функції f в точці P=(x, y). Для цього необхідно знати значення функцій в (оточуючих P) точках Q11=(x1, y1), Q12=(x1, y2), Q21=(x2, y1), і Q22=(x2, y2).
Першим кроком інтерполюється (лінійно) значення допоміжних точок і вздовж осі абсцис lt; # 21 src= doc_zip8.jpg / gt;
Тепер проводиться лінійна інтерполяція між допоміжними точками і.
Це і є приблизне значення функції в точці P, тобто f (x, y).
Варто зауважити, що даний метод не позбавлений недоліків, головним з яких є факт збільшення в N раз зображення розміром W на H пікселів, тобто буде отримано зображення розміром не NW на NH пікселів, а (N (W - 1) + 1) на (N (H - 1) + 1) пікселів. Пов'язано це з тим, що у вихідному зображенні, наприклад по горизонталі є W точок, тобто (W - 1) суміжних пар. При збільшенні зображення в N раз між парою основних точок вставляється по (N - 1) додаткових точок (тобто при збільшенні вдвічі між основними точками вставляється ще по одній, при збільшенні втричі - по дві і т. Д.). Разом в результаті ширина результуючого зображення дорівнюватиме сумі кількості основних і додаткових точок.
Дзеркальне відображення зображення
Зображення можна дзеркально відобразити щодо вертикальної або горизонтальної осі. Дзеркальне відображення дозволяє переглянути елементи зображення з протилежного боку від їх реального стану. Функція дзеркального відображення корисна для негативів, які могли бути вставлені в рамки навпаки і відскановані в дзеркальному відображенні вигляді.
У програмі дзеркальне відображення здійснено за допомогою двох циклів, які перебирають всі пікселі зображення і міняють їх місцями залежно від типу відображення. Якщо це відображення по осі Y, тобто вертикальне відображення, то міняються місцями пікселі, розташовані по осі Y, і навпаки.
Виділення простий області та її переміщення
Так само в програмі реалізовано виділення простий області та її переміщення. Алгоритм даної функції полягає в тому, що від початку виділяється область (для цього вказуються координати крайньої лівої точки області, ширина і висота області). Після чого створюється контейнер, в який клонуються пікселя з цієї облас...