- •Конспект лекцій
- •Теми лекцій
- •Лекція 1: загальне введення в комп'ютерну графіку
- •Предмет і область застосування комп'ютерної графіки
- •Коротка історія
- •Технічні засоби підтримки комп'ютерної графіки
- •Питання й вправи
- •Лекція 2 сучасні апаратні засоби растрової графіки
- •2.1.Основні поняття
- •2.2. Пристрою уведення Сканери
- •Цифрові фотоапарати й відеокамери
- •2.3. Пристрою виводу Дисплеї
- •Дисплеї на елт
- •Жидкокристаллические дисплеї
- •Інші типи дисплеїв
- •Проектори
- •Принтери
- •Матричні принтери
- •Струминні принтери
- •Лазерні принтери
- •2.4. Архітектура графічної підсистеми пк Архітектура
- •Подання зображень
- •Програмний інтерфейс
- •Питання й вправи
- •Лекція 2. Колір у комп'ютерній графіці
- •Про природу світла й кольору
- •Колірний графік мко
- •Колірні моделі rgb і cmy
- •Колірні моделі hsv і hls
- •Простір cie Luv
- •Питання й вправи
- •Лекція 3. Геометричні перетворення
- •Системи координат і вектори
- •Рівняння прямій і площині
- •Аналітичне подання кривих і поверхонь
- •Перетинання лучачи із площиною й сферою
- •Інтерполяція функцій однієї й двох змінних
- •Матриці
- •Геометричні перетворення (перенос, масштабування, обертання)
- •Перехід в іншу систему координат
- •Завдання обертання щодо довільної осі
- •Питання й вправи
- •Лекція 4. Подання геометричної інформації
- •Геометричні примітиви
- •Полігональні моделі
- •Воксельні моделі
- •Поверхні вільних форм (функціональні моделі)
- •Системи координат: світового, об'єктна, спостерігача й екранна
- •Однорідні координати. Завдання геометричних перетворень в однорідних координатах за допомогою матриць
- •Питання й вправи
- •Лекція 6 алгоритми растеризаЦії відрізків, окружностей і еліпсів
- •6.1. Введення в растеризацію кривих
- •6.2.Зображення відрізка із цілочисловими координатами кінців
- •Цифровий диференціальний аналізатор
- •Алгоритм Брезенхема
- •Алгоритм Кастла-Пітвея
- •6.3. Зображення відрізка з нецілочисловими координатами кінців
- •6.4. Зображення окружностей
- •Алгоритм Брезенхема
- •6.5. Зображення еліпсів
- •Побудова по неявній функції
- •Побудова шляхом стиску окружності
- •Лекція 7 відсікання (кЛіпування) геометричних примітивів
- •Алгоритм Сазерленда-Коена відсікання прямокутною областю
- •Відсікання опуклим багатокутником
- •Кліпування багатокутників
- •Питання й вправи
- •Лекція 8 видалення невидимих поверхонь і ліній
- •Видалення нелицьових граней багатогранника Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера-Азертона
- •Метод z-Буфера
- •Методи пріоритетів (художника, що плаває обрію)
- •Алгоритми порядкового сканування для криволінійних поверхонь
- •Метод двійкової розбивки простору
- •Метод трасування променів
- •Питання й вправи
- •Лекція 9 проектування просторових сцен
- •Основні типи проекцій
- •Паралельні проекції
- •Центральні проекції
- •Математичний апарат
- •Ортогональні проекції
- •Косокутні проекції
- •Центральні проекції
- •Спеціальні картографічні проекції. Екзотичні проекції земної сфери
- •Стереографическая проекція
- •Гномоническая проекція
- •Ортографическая проекція
- •Проекції на циліндр
- •Проекція Меркатора
- •Проекції на багатогранник
- •Незвичайні проекції
- •Питання й вправи
- •Лекція 10 растрове перетворення графічних примітивів
- •Алгоритм Брезенхема растрової дискретизації відрізка
- •Алгоритми Брезенхема растрової дискретизації окружності й еліпса
- •Алгоритми заповнення областей
- •Лекція 11 зафарбовування. Рендеринг полігональних моделей
- •Проста модель висвітлення
- •Питання й вправи
- •Зафарбування граней Плоске зафарбовування
- •Зафарбування методом Гуро
- •Зафарбування методом Фонга
- •Більше складні моделі висвітлення
- •Усунення ступінчастості (антиэлайзинг)
- •Питання й вправи
- •Лекція 12 візуалізація просторових реалістичних сцен
- •Свето- Тіньовий аналіз
- •Метод излучательности
- •Глобальна модель висвітлення із трасуванням променів
- •Текстури
- •Питання й вправи
- •Лекція 13 алгоритми стиску зображень без втрат
- •13.1. Необхідність стиску зображень
- •13.2. Неіснування ідеального алгоритму
- •13.3. Алгоритми кодування довжини повторення (rle)
- •13.4. Словникові алгоритми
- •Алгоритм lz77
- •Алгоритм lzw
- •13.5. Алгоритми статистичного кодування
- •Алгоритм Хаффмена
- •13.6. Арифметичне кодування
- •Лекція 14 стиск зображень із втратами
- •14.1. Необхідність стиску із втратами
- •14.2. Оцінка втрат
- •14.3. Зображення як функція
- •Дискретне Перетворення Фур'є
- •Дискретне косинусное перетворення
- •14.4. Алгоритм стиску зображень jpeg
- •14.5. Вейвлет-Перетворення
- •14.6. Фрактальное стиск
- •Список літератури
- •Лекція 15 алгоритми стиску відео
- •Введення
- •Основні поняття
- •Вимоги додатків до алгоритму
- •Визначення вимог
- •Огляд стандартів
- •Базові технології стиску відео Опис алгоритму компресії
- •Загальна схема алгоритму
- •Використання векторів зсувів блоків
- •Можливості по распараллеливанию
- •Інші шляхи підвищення ступеня стиску
- •Порівняння стандартів
- •Питання для самоконтролю
- •Лекція 16 основи видавничої справи
- •1. Вибір формату
- •1.1. Використання стандартних форматів
- •1.1.1. Стандартні розміри по iso
- •2. Підготовка тексту
- •2.1.2. Редагування матеріалу
- •Перевірка фактичної вірогідності матеріалу
- •Установлення власника авторських прав і одержання дозволу на видання
- •Вступна частина
- •Авантитул
- •Заключна частина
- •2.2. Оформлення книги
- •2.2.1. Принципи виміру й термінологія
- •2.2.2. Характеристики шрифту Загальні характеристики
- •Класифікація шрифтів
- •2.3. Розробка дизайну тексту
- •2.3.1. Вибір шрифту
- •2.3.2. Вибір розмірів смуги набору, полів і шрифту
- •Формати октаво.
- •2.3.3. Стилі заголовків
- •Заголовки усередині тексту
- •Постійні й змінні колонтитули
- •Колонцифри
- •Допоміжний текст і підписи до ілюстрацій
- •Вступна й заключна частини
- •Складання підсумкової специфікації
- •2.3.4. Переноси
- •2.3.5. Розділові знаки
- •2.3.6. Зауваження по розмітці сторінки
- •2.4. Підрахунок сторінок тексту
- •2.4.1. Етап 1
- •Гарний матеріал
- •Поганий матеріал
- •2.4.2. Етап 2
- •2.4.3. Етап 3
- •Лекція 17 цифрове фото
- •1. Історія фотографії
- •2. Від плівки до цифрового фото
- •3. Умовна класифікація цифрових фотоапаратів
- •4. Сенсори цифрових фотоапаратів
- •Лекція 18 подання сайту
- •Зменшення швидкості руху
- •Створення кліпу зі зменшенням швидкості руху
- •Додавання змінної швидкості руху
- •Ініціалізація руху клацанням миші
- •Додавання сліду від руху об'єкта
- •Зникнення сліду
- •Підвищення ефективності
- •Покадровое рух
- •Постійна швидкість
- •Коливальний рух
- •Зміна розмірів у русі
- •Керування рухом
- •Ковзання
- •Використання порожніх фільмів
- •Реалізація підходів на практиці
- •Оглядач зображень
14.5. Вейвлет-Перетворення
Ідея вейвлет-перетворення складається в розкладанні сигналу ( функції-зображення) по системі функцій, що мають локальний сплеск і швидко убутних на нескінченності [20]. У цьому й наступному параграфах передбачається знайомство читача з базовими поняттями функціонального аналізу (див., наприклад, [3]). Звичайно такі функції вейвлет-перетворення2)виводяться з так званого материнського вейвлета. Материнський вейвлет - це функція :
т.е.
;
також передбачається, що
Материнський вейвлет перетворюється в такий спосіб:
де
.
Приклади материнських вейвлетов див.
на мал. 14.5. У загальному випадку
вейвлет-перетворення записується так:
Рис. 14.5. Приклади материнських вейвлетов
При
практичному застосуванні вейвлет-перетворення
аналіз такого потужного (а саме континуум)
безлічі коефіцієнтів неможливий. Тому
(a,
b) вибираються з
рахункової підмножини площини
.
Звичайно материнський вейвлет і безліч
значень (a,
b) вибирають так,
щоб система
утворювала
ортонормированный базис у просторі
.
Тоді будь-яку функцію f(x)
із цього простору можна розкласти по
цьому базисі
.
Пояснимо
як застосовувати вейвлет-перетворення
до дискретного сигналу (наприклад,
зображенню). Для простоти будемо
розглядати одномірний випадок -
послідовність кінцевої довжини
.
Тоді, за умови що материнський вейвлет
,
перетворення можна записати так:
Розглянемо найпростішої вейвлет - вейвлет Хаара (англ. Haar wavelet). Розглянемо простір . У цьому просторі ортонормированна наступна система:
Рис. 14.6. Материнський вейвлет Хаара
Дана
система називається системою
Хаара. Для такого
вейвлета материнським є
(див.
мал. 14.6). У цьому випадку (a,
b) обрані із
за
таким законом:
Дія вейвлета Хаара на послідовність, що складається з 2N елементів, можна розглядати так: елементи групуються по двох, обчислюється сума й різниця кожної пари, різниці зберігаються, а із сум формується послідовність довжини 2 N-1; далі перетворення виконується доти, поки не залишиться одна сума й відповідно 2N - 1 різниця. Таке перетворення задається так званою матрицею Хаара:
Послідовність (a0, . . . , a2N+1) представимо так:
((a0, a1), . . . , (a2N, a2N+1)).
Тепер помножимо праворуч вектори (ai, ai+1) на матрицю H2. Одержимо послідовність сум і різниць ((s0, d0), . . . , (s, d)). Якщо послідовність має довжину, кратну 4, то можна застосувати наступну матрицю Хаара:
Очевидно, що дані перетворення легко оборотні. З таким вейвлет-перетворенням тісно зв'язане так зване S-Перетворення. Якщо ми не хочемо, щоб при перетворенні Хаара границі значень послідовності подвоювалися (через підсумовування), треба брати напівсуму. Однак при цілому розподілі на 2 ми втрачаємо точність. Рішення даної проблеми виглядає так: нехай a і b - пари значень із вихідної послідовності. Тоді
при цьому відновлення виглядає так:
при цьому, якщо d - непарне, то при d > 0 до a додається 1, а якщо d < 0, то до b додається 1.
// s - сума, d - різниця
// Round(x) - узяття цілої частини
// IsOdd(x) - чи є непарним
a = s + Round( d / 2 ); b = s - Round( d / 2)
if( IsOdd( d ) )
{
if ( d > 0)
a++;
else
b++;
}
Лістинг 14.1. Алгоритм
В алгоритмі JPEG2000 [10] використовуються так звані вейвлеты Добеши (англ. Daubechies wavelet). У матричному виді для дії на вектор A довжини 8 дане перетворення задається так:
де
Як видно, матриця має розміри 8 × 10 через необхідність участі в підсумовуванні чотирьох компонентів. Т.е. насправді, така матриця множиться на наступний вектор:
A = (a1a2a3a4a5a6a7a8a9a10)T .
Звичайно думають або a9 = a1, a10 = a2, або a9 = a8, a10 = a7. Використання вейвлет-перетворень при стиску зображень аналогічно використанню дискретний косинус-перетворення в алгоритмі JPEG, тобто саме перетворення - лише щабель конвеєра стиску.
Вейвлет-Перетворення мають дуже гарну частотно-просторову локалізацію й по цьому показнику перевершують традиційні косинус-перетворення й інші перетворення Фур'є. Таким чином, стає можливо застосовувати більше сильне квантування, поліпшуючи властивості послідовності для наступного стиску без втрат. Алгоритми стиску зображень, засновані на цьому перетворенні, при тім же ступені стиску показують кращі результати по збереженню якості зображення. До того ж обчислювальна складність дуже низька й становить O(N) (тут N - довжина послідовності, до якої застосовується перетворення). Однак поширеність форматів, що використовують стиск на основі вейвлет-перетворення, невелика через наявність патентів, а також через велику поширеність звичайного JPEG, що дає цілком прийнятні результати.
