Практична робота № 3
Вейвлет-обробка зображень
- Теорія
Система WAV здійснює вейвлет стиснення растрових зображень.
Ця програма використовує вейвлети Хаара та Добеши (D4, D6). За допомогою програми WAV можна роздрукувати вейвлет-функції, вивести на екран двомірне вейвлет-перетворення зображення.
У цій програмі реалізовані два різних алгоритми стискання зображень:
- Базовий алгоритм децимації
- Алгоритм нуль-дерева.
За допомогою меню File можна відкрити різні типи вікон. Зображення знаходяться у файлах у форматі *.bmp. Перед кодуванням кольорові зображення потрібно перевести у градації сірого. Дана програма працює тільки із зображенням у яких однакова ширина та висота (тобто квадратні кадри).
2. Порядок роботи
2.1. Відкрити вікно кодування системи WAV (File→Open Wavelet Compression Window) та вибрати файл відповідно до поставленого викладачем завдання.
2.2. Здійснити вейвлет-стискання зображення та вивести на екран вейвлет-стиснене зображення (Run→Show Wavelet Compression Image). Результат роботи занести у звіт.
2.3 Вивести на екран вейвлет-перетворене зображення (Run→Show Wavelet Transform), зберегти та занести його у звіт.
2.4. Вибрати інший тип вейвлету та повторити пп. 2.2 і 2.3 (меню Setup→Wavelet Type). Результати зберегти та занести у звіт.
2.5. Змінити коефіцієнт стискання (компресії) і також повторити пп. 2.2 та 2.3 для вейвлету, який заданий за замовчуванням і для вейвлету, який використовувався при виконанні п. 2.4 (меню Setup→Compression Persent). Результати занести в звіт, порівняти та зробити висновки.
2.6. Обчислити похибку стискання кожного із зображень використавши вікно віднімання зображень. Для цього потрібно щоб було відкрито вікно, з вихідним зображенням у форматі *.bmp у градаціях сірого. Результати відобразити у звіті.
2.7. Здійснити вейвлет кодування з нуль-деревом. Для цього потрібно відкрити файл командою (File→Open Wavelet Zerotree Encoding Window) та здійснити кодування Run→Wavelet Zerotree Encoding)/ Вікно кодування з нуль-деревом зберігає закодоване зображення у файл */wvz. У діалогу потрібно ввести ім’я файлу. Результат роботи занести у звіт.
2.8. Здійснити вейвлет кодування з нуль-деревом для різним типів вейвлетів. Порівняти отримані результати і зберегти їх, занести у звіт, зробити висновки.
2.9. Здіснити вейвлет-кодування з нуль-деревом з вейвлетом Хаара але змінивши інші параметри кодування. Зберегти та порівняти отримані результати, занести їх у звіт, зробити висновки.
2.10. Здійснити вейвлет-декодування зображень закодованих збережених зображень (File→Open Wavelet Zerotree Decoding Window). Вікно декодування з нуль деревом читає файл з розширенням *.wvz, у якому містяться дані, записані в процесі кодування з нуль-деревом. Інформація про тип вейвлету, розмір зображення та кількість бітових площин міститься у самому файлі, тому в цьому вікні немає додаткових опцій для керування декодованим зображенням. Команда Run→Show Progressive Decoding показує декодування по крокам, тобто відображає кожну бітову площину, побудовану в процесі декодування. Це займає досить тривалий час. Декодовані зображення занести у звіт.
2.11. Побудувати вейвлети, за допомогою яких здійснювалося кодування зображень. Для цього потрібно відкрити відповідне вікно File→Open Wavelet Plotting Window, а потім здійснити побудову вейвлету: Run→Plot (обрати потрібний вейвлет). Результати занести у звіт.
2.12. Використавши вікно установки параметрів графіка змінити вигляд виводу обраного типу вейвлет на екран. Результати занести у звіт.
|