- •Українська академія друкарства
- •Лабораторний практикум
- •«Теорія цифровИх зображень»
- •Загальні вказівки
- •Лабораторна робота № 1 Ознайомлення з алгоритмічними основами побудови елементарних зображень Основні положення
- •Растрова розгортка в реальному часі
- •Групове кодування
- •Клітинне кодування
- •Буфери кадру
- •Адресація растру
- •Зображення відрізків
- •Зображення літер
- •Заповнення багатокутників
- •Растрова розгортка багатокутників
- •Простий алгоритм із впорядкованим списком ребер
- •Більш ефективні алгоритми з упорядкованим списком ребер
- •Алгоритм заповнення по ребрах
- •Алгоритм зі списком ребер і прапорцем
- •Алгоритми заповнення з приманкою
- •Простий алгоритм заповнення з приманкою
- •Простий алгоритм заповнення
- •Порядковий алгоритм заповнення з приманкою
- •Порядок виконання роботи
- •Простий метод усунення східчастого ефекту
- •Згортка й усунення східчастості
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Українська академія друкарства
Кафедра технології додрукарських процесів
Лабораторний практикум
з дисципліни
«Теорія цифровИх зображень»
для студентів спеціальності 8.051501
«Комп’ютеризовані технології та системи видавничо-поліграфічних виробництв»
Факультет видавничо-поліграфічних і інформаційних технологій
Курс п’ятий
ЛЬВІВ—2011
Лабораторний практикум затверджено на засіданні кафедри ТДП (протокол № 3 від 8 листопада 2010 р.).
Лабораторний практикум розробив:
доц., к.т.н. ЮЩИК Олег Володимирович
Лабораторний практикум з дисципліни «Теорія цифрових зображень» для студентів спеціальності 8.051501 «Комп’ютеризовані технології та системи видавничо-поліграфічних виробництв».
Відповідальний за випуск в.о. завідувача кафедри ТДП, проф., к.т.н. ГУНЬКО С.М.
©Українська академія друкарства
©Ющик О.В.
ЗМІСТ
Загальні вказівки 8
Загальні вказівки 8
Лабораторна робота № 1 10
Лабораторна робота № 1 10
Ознайомлення з алгоритмічними основами побудови елементарних зображень 10
Ознайомлення з алгоритмічними основами побудови елементарних зображень 10
Рис.1.1. Зображення одиничного квадрату в першому квадранті 14
З’єднати послідовно 14
Одиничний квадрат можна отримати за допомогою чотирьох ребер 14
Тоді алгоритмічний опис буде таким 14
Зобразити послідовно ребра 14
або або 14
Лабораторна робота № 2 16
Лабораторна робота № 2 16
Алгоритми креслення відрізків растровими графічними пристроями 16
Алгоритми креслення відрізків растровими графічними пристроями 16
Рис. 2.1. Розкладення в растр відрізків прямих 16
Простий покроковий алгоритм 17
Рис. 2.2. Результати роботи простого ЦДА в першому квадранті 20
Лабораторна робота № 3 23
Лабораторна робота № 3 23
Алгоритми БРЕЗЕНХЕМА креслення відрізків растровими графічними пристроями 23
Алгоритми БРЕЗЕНХЕМА креслення відрізків растровими графічними пристроями 23
Рис. 3.2. Графік похибки в алгоритмі Брезенхема. 24
Рис. 3.3. Блок-схема алгоритму Брезенхема 27
Приклад 1 27
Результати покрокового виконання основного циклу 27
Рис.3.4. Результат роботи алгоритму Брезенхема в першому октанті 28
Рис. 3.5. Розгляд випадків для узагальненого алгоритму Брезенхема 30
Приклад 2 31
Рис. 3.3. Блок-схема цілочисельного алгоритму Брезенхема для всіх квадрантів 32
Лабораторна робота № 4 36
Лабораторна робота № 4 36
Алгоритм Брезенхема для генерування растрового кола 36
Алгоритм Брезенхема для генерування растрового кола 36
Рис. 4.1. Генерування повного кола з дуги в першому октанті 36
Рис. 4.4. Перетин кола та сітки растру 38
В квадратних дужках стоїть за означенням і його підставляння 39
Використання визначення приводить вираз до вигляду 41
Те саме для кроку до 42
Приклад 4.1. Алгоритм Брезенхема для кола 46
Лабораторна робота № 5 50
Лабораторна робота № 5 50
РАСТРОВА РОЗГОРТКА ЯК СПОСІБ ГЕНЕРУВАННЯ ЗОБРАЖЕННЯ 50
РАСТРОВА РОЗГОРТКА ЯК СПОСІБ ГЕНЕРУВАННЯ ЗОБРАЖЕННЯ 50
Рис. 5.1. Простий список активних ребер. 52
Рис. 5.5. Приклади групового кодування. 57
(512 512 8 30 30)/(8 біт/байт) = 236 Мбайт 58
Рис. 5.6. Обмеження групового кодування для коротких ділянок. 59
Рис. 5.7. Маска літери при клітинному кодуванні 60
Рис. 5.8. Клітинне кодування: а) відображення, б) перенос, в) маскування 61
Рис. 5.9. Комбінації логічного АБО для сегментів відрізків 61
Рис. 5.10. Буфер кадру на зсуваючих регістрах 63
Рис. 5.11. Графічна система з буфером кадру 63
Рис. 5.12. Архітектура графічних систем з буфером кадру 64
Рис. 5.13. Система координат растру 65
Приклад 5.2. Покрокова адресація растру 66
Розглянемо піксел з координатами (4.2) растра на рис. 5.13. Тут 66
Рис. 5.14. Вибіркове стирання відрізків у буфері кадру. 67
Рис. 5.15. Оболонковий або мінімаксний тест 68
Мінімаксний або оболонковий тест 68
Вставка маски в буфер кадру 69
Рис. 5.16. Трансформовані маски літер 69
Лабораторна робота № 6 71
Лабораторна робота № 6 71
РАСТРОВЕ РОЗГОРНЕННЯ СУЦІЛЬНИХ ОБЛАСТЕЙ 71
РАСТРОВЕ РОЗГОРНЕННЯ СУЦІЛЬНИХ ОБЛАСТЕЙ 71
Рис. 6.1. Штрихування або зафарбовування контуру 71
Рис. 6.2. Прямокутна оболонка багатокутника. 72
Рис. 6.3. Растрове розгорнення суцільної області. 74
Рис. 6.4. Системи координат рядків сканування. 75
Рис. 6.5. Особливості перетинання-з рядками сканування 76
Приклад 6.1. Простий упорядкований список ребер 77
(1, 6.5), (1.5, 6.5), (1, 5.5), (2.5, 5.5), (7.5, 5.5), (8, 5.5), (1, 4.5), (3.5, 4.5), 78
Приклад 6.2. Більш ефективний упорядкований список ребер 80
Рис. 6.7. у-групи скануючих рядків для багатокутника, зображеного на рис. 6.3. 80
Приклад 6.3. Упорядкований список ребер разом із САР 82
Рис. 6.8. Схема зв’язного списку для багатокутника, зображеного на рис. 6.3 84
Рис. 6.8. Продовження 85
Рис. 6.9. Алгоритм заповнення по ребрах 87
Алгоритм заповнення з перегородкою 87
Рис. 6.10. Алгоритм заповнення з перегородкою. 88
Приклад 6.4. Алгоритм, який використовує список ребер і прапорець 89
Рис. 6.11. Алгоритм заповнення по ребрах і прапорцю 91
Рис. 6.12. Внутрішньо-визначена область 92
Рис. 6.13. Гранично-визначена область 93
Рис. 6.14. 4- і 8-зв’язні внутрішньо-визначені області 93
Рис. 6.15. 4- і 8-зв’язні гранично-визначені області 93
Простий алгоритм заповнення 95
Приклад 6.5. Простий алгоритм заповнення з приманкою 95
Рис. 6.16. Приманкове заповнення за допомогою простого стекового алгоритму 96
Приклад 6.6. Алгоритм заповнення з запалом для багатокутника з діркою 96
Порядковий алгоритм заповнення з приманкою 98
Рис. 6.18. Порядковий алгоритм заповнення з приманкою для багатокутника 99
Порядковий алгоритм заповнення з приманкою 100
Приклад 6.7. Порядковий алгоритм заповнення з приманкою 101
Лабораторна робота № 7 106
Лабораторна робота № 7 106
ОСНОВИ МЕТОДІВ УСУНЕННЯ СХІДЧАСТОСТІ 106
ОСНОВИ МЕТОДІВ УСУНЕННЯ СХІДЧАСТОСТІ 106
Рис. 7.1. Вибірка і спотворення при відновленні 107
Рис. 7.2. Ефекти спотворення для дрібних об’єктів 107
Рис. 7.3. Ефекти спотворення в анімаційній послідовності кінокадрів 108
Рис. 7.9. Алгоритм Брезенхема з усуненням східчастості 115
Рис. 7.10. Згортка 117
Математично ядро згортки дорівнює 117
Відображення приводить до 117
Перенос на дає 117
Підстановка функцій і дає 118
Рис. 7.12. Усунення східчастості за допомогою відсікання 120
Лабораторна робота № 8 122
Лабораторна робота № 8 122
АПРОКСИМАЦІЯ НАПІВТОНАМИ 122
АПРОКСИМАЦІЯ НАПІВТОНАМИ 122
Рис. 8.1. Дворівневі конфігурації 2 2 123
Рис. 8.2. Дворівневі конфігурації 3 3 124
Рис. 8.3. Дворівневі конфігурації 3 2 124
Рис. 8.4. Конфігурації 2 2 з точками декількох розмірів 125
Рис. 8.5. Конфігурації 2 2 при двох бітах на піксель 126
Рис. 8.7. Розподіл похибки в алгоритмі Флойда-Стейнберга 128
Алгоритм розподілу похибки Флойда-Стейнберга 129
Алгоритм впорядкованого збудження 131
