Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 52
Текст из файла (страница 52)
пс = пс(4 е рго6(пв(1,:)) + 1:еш$); пс = (а(:) ' пс]; пв = пв(3:епН,:); пв = (пв(1,:); пв]; пашах = в1ке(пв, 1) — 2; еш1 '/ Рот сошр1есе тесопвСгпсС1опв, геХотшаС оитриС ав 2-О. 1й патНопс == 1 б б 2 В~~7) а = пс; пс = гершаС(0, пв(1, :)); пс(:) епй чагагйоиС~1) = пс; 11 пагяоис == 2 чагагйоиИ21 = пв; епо % Хаасс[оп х = вушсопчир(х, 11, 12, 11п, Меер) % ()рвашр1е гочв апй сопчо1че со1илшв и1СЬ 11; ирвашр1е со1ишпв апй % сопчо1че гоив в1СЬ 12; СЬеп ехсгасС сепсег аввиш1пя вушшесг1са1 % ехсепвйоп. у = иегов([2 13 ч в1хе(х)); у(1:2:епй, ;) = х; у = сопч2(у, 11'); х = иегов([1 23 .е в1хе(у)); х(:, 1:2:епй) = у; г = сопч2(х, 12); х = х(11п — 1:11п + Меер(1) — 2, 11п — 1:11п + Ьеер(2) — 2); Главные действия в функции иачеЬасй совершаются в цикле 1ог, который выполняет требуемое число шагов итерации, зависящее от уровня [масштаба) декомпозиции.
Можно видеть, что на каждом шаге четыре раза вызывается внутренняя функция вушсопчир, и полученные матрицы складываются. Вектор декомпозиции пс, который в начале приравнивается вектору с, обновляется на каждом шаге итерации путем замены четырех подматриц коэффициентов, обработанных функцией вушсопчир, на одну вновь вычисленную матрицу приближения а.
Управляющая матрица пв также параллельно изменяется, и в результате получается структура декомпозиции [пс, пв] на единипу меныпего масштаба. Эта последовательность действий слегка отличается от процесса, изображенного на рис. 7.6, где верхние два входа комбинируются по правилу [И~о [у,т,п) Т Ье(т) + И~ [),т,п) [ аЬ, (т)[ Т "*Ье[п).
Здесь 7~ и Т~" обозначают операции сгущающей выборки с шагом 2, соответственно, по т и и. Функция чачеЬасй совершает эквивалентные вычисления по формуле [И', Ц,т,п) [ Ье[т)) Т "*Ье[п) + [И' Ц,т,п) Т чЬи(т)[ Т "*Ье[п). Функция вушсопчир производит требуемую свертку и сгущающую выборку для вычисления вклада одного входа на рис.
7.6 в выход И~ О + 1, т, п) в соответствии с приведенным выше выражением. Сначала входной массив х сгущается по строкам, в результате чего образуется массив у, который сворачивается по столбцам с фильтром Х1, и результат записывается на место у. Затем у сгущается в направлении столбцов, сворачивается строка за строкой с фильтром 12, и в результате получается массив х. Наконец, центральные Меер элементов х [окончательная свертка) возвращаются в виде вклада входы х в новое приближение. ~~~288 Глава 7.
Вейвлетпы Пример 7.7. Сравнение времени вычнслеяий шачеЬасй и шачетес2. Следующая тестовая программа сравнивает время выполнения функции иачегес2 из Жаче[еС Тоо)Ъох и построенной нами функции чачеЬас)г с помощью простой модификации тестовой функции примера 7.3: 1ипсС1оп [гаС1о, шах611г] = 1гиссошраге(г, и, епаше) %1РМТСОМРАВЕ Сошраге чачегес2 апд чачеЬасй. % [ВАТ10, МАХ01РР] = 1РМТСОМРАЯЕ(Р, М, ММАМЕ) % сошрагев СЬе орегаС1оп о1 Соо1Ьох 1ипсСАоп ИАНЕВЕС2 '/ апй сивгош 1ипсС1оп МАНЕВАСК. '/ % 1МРОТЗ: % Р 1шаЕе Со Сгапв1огш апо 1пчегве Сгапв1огш. % М МишЬег о1 вса1ев Со сошрисе. % ММАМЕ Маче1еС Со иве. Х % ООТРОТЯ: '/ ВАТ10 % МАХ01РР Х % Сошриге СЬе Сгвпв1огш апй Еег оисриС апс[ сошриСаС1оп '/ САше 1ог еачейес2.
[с1, в1] = чачейес2(1, и, чпаше); С1с; 81 = еачегес2(с1, в1, ипаше); ге1С1ше = Сос; ЕхесиС1оп САше гаС1о [сивгош/Соо1Ьох) Мах1шща Еепегегед АшаЕе 61ггегепсе. % Сошрисе СЬе Сгвпв1огш апо Вес оисриС апй сошрисас1оп % Саше 1ог иачеЬасй. [с2, в2] = иаче1авС(1, и, ипаше); С1с; 82 = иачеЬаск(с2, в2, чпаше); С2 = Сос; % Сошраге СЬе геви1Св. гаСАо = С2 / (геШше + ерв); шахоШ1 = аЬв(шах(81 — 82)); » 1 = 1шгеай ('Наве', 'С11'); » [гаС1о, шахй1ггегепсе] = 11игсошрагеИ, 5, '6Ь4') гаС1о = 1.0000 шахй1г1егепсе = 3.6948е-013 Для изображения 512 х 512 на рис. 7.4, преобразованного до пятого масштаба вей- влетным преобразованием Добе~пи порядка 4, получаем следующее: .В б б б .Вг 2«ббб« Отметим, что время работы обеих функций одинаково (частное гагго равно 1), а максимум разности выходов равен 3.6948х10 сз.
Для любых практически значимых целей обе функции выдают идентичные результаты, затрачивая на вычисления одно и то же время. О 7.5. Вейвлеты при обработке изображений Подобно преобразованию Фурье (см. 3 4.3.2), вейвлетные преобразования приме- няются при обработке цифровых изображений в следующем порядке: 1. Вычислить двумерное вейвлетное преобразование изображения. 2. Внести изменения в коэффициенты преобразования. 3.
Вычислить обратное преобразование. Поскольку масштаб в вейвлетной области аналогичен частоте области Фурье, большинство технологий, основанных на фильтрации в Фурье-переменных (см, гл, 4), имеют похожие аналоги в «вейвлетных переменных». В этом параграфе, используя приведенную выше трехшаговую схему, мы приведем несколько примеров использования вейвлетов при обработке конкретных изображений. Основное внимание будет обращено на применение разработанных в этой главе процедур, причем нам не потребуются ни функции из пакета 999'аче1е1 Тоо1Ьох, ни примеры из гл. 7 книги [Сопяа1ея, Ъ'вас[в, 2002).
Пример 7.8. Вейвлетная направленность и обнаружение контуров. Рассмотрим тестовое 500х500 изображение из рис. 7.7, а). Это изображение уже использовалось в гл. 4 при иллюстрации процедур сглаживания и повышения резкости на базе преобразования Фурье. Здесь мы продемонстрируем направленную чувствительность двумерных вейвлетных преобразований и их пользу в задачах обнаружения контуров. » Х = 1шгеас((ВА.С119); » 1швйоя(Х); >) [с, в) = яабсегавс(г, 1, 'вуш4'); » 118пге; яаббв28гау(с, в, -6); » [пс, у] = габбесиь('а', с, в); » 11япге; яаббв2ягау(пс, в, -6); )) ейбев = аЬв(яанвЬас1с(пс, в, 'вуш4')); » 11яигв; 1швйоя(шас28гау(еайев)); Горизонтальная, вертикальная и диагональная направленности одномасштабного вейвлетного преобразования рис.
7.7, а), выполненного вейвлетом 'вуш4', отчетливо видна на рис. 7.7, б). Например, заметьте, что горизонтальные контуры исходного изображения присутствуют на изображении горизонтальных деталей, расположенном в верхнем правом квадранте рис. 7.7, б). Вертикальные контуры изображения также легко идентифицировать на изображении горизонтальных деталей, находящемся в нижнем левом квадранте. Чтобы объединить (292 ~ Т. ВЮ первого и второго масштаба. Этот процесс продолжен на рис. 7.8, д), где дополнительно удалены коэффициенты третьего масштаба.
Наконец, на рис. 7.8, е) удалены все коэффициенты деталей. Градуированное повьппение размытия от рис. 7.8, в) до е) напоминает аналогичные результаты, полученные с помощью преобразования Фурье. Это иллюстрирует близкую связь между масштабами вейвлетной области и частотами в области Фурье-анализа. П Пример 7.10. Прогрессивная реконструкция. Теперь рассмотрим задачу передачи и реконструкции вейвлетного четырехмасштабного преобразования изображения на рис.
7.9, а) в контексте получения быстрого сетевого доступа к некоторой удаленной базе изображений. Здесь мы несколько отклонимся от нашей трехшаговой схемы, предложенной в начале этого параграфа, и рассмотрим приложение, у которого нет аналога на базе Фурье-анализа. Пусть каждое изображение базы данных хранится в виде кратномасштабной вейвлетной декомпозиции.
Такая структура хранения весьма подходит для приложений, которым нужна прогрессивная реконструкция данных, особенно если коэффициенты декомпозиции хранятся в одномерном векторе, общий формат которого был представлен в з 7.4. Для преобразования четвертого масштаба этого примера вектор декомпозиции имеет вид » 7.
Сепегасе сгаив1огш » » » » Х = иаиесору('в', с, в); » 118иге; 1швЬои(шас28гау(1) ); » » ~с, е3 = ианеЬасй(с, в, '2ре89.7', 1); 7. Арргох1шас1оп 2 » Х = иаивсору('в', с, е); » 118иге; 1швйои(шас28гауИ)); 7. Арргохьшагьоп 1 где А4 — это матрица коэффициентов приближения четвертого уровня декомпозиции, а Н„Ъ'и и 1Э, при 1 = 4, 3, 2, 1 — матрицы коэффициентов деталей по горизонтали, вертикали и диагонали масштаба ь Если передавать этот вектор по сети в порядке слева направо, то удаленное устройство отображения сможет градуированно строить все более хорошие приближения конечного изображения высокого разрешения (в зависимости от потребностей пользователя) по мере приема данных на станции обслуживания. Например, когда будут получены коэффициенты матрицы Ае, станет доступна версия изображения самого низкого разрешения, которое можно сразу отобразить на экране [рис. 7.9, б)).
Когда поступят матрицы Н4, 'Чм и Ом можно будет реконструировать изображение с большим разрешением ~рис. 7.9, вЯ и т. д. На рис. 7.9 с г) по е) показаны еще три реконструкции с возрастанием разрешения. Этот процесс прогрессивной реконструкции легко смоделировать с помощью следующей последовательности команд МАТЮКАВ.
(294 Г Т. 8 Обратите внимание на то, что финальное, четвертое приближение использует функцию иачеЬаск для совершения реконструкции первого масштаба. П Выводы В этой главе рассматриваются вейвлетные преобразования и обсуждается их использование при обработке изображений. Подобно преобразованию Фурье, вейвлетные преобразования могут применяться при решении задач широкого спектра, от обнаружения контуров и до сглаживания изображений, что рассматривалось в материалах данной главы. Поскольку вейвлетный анализ глубоко проникает как в частотные, так и в пространственные характеристики изображений, вейвлетные преобразования могут найти применение в таких областях, где анализ-Фурье уже не работает, например, в приложениях, требующих прогрессивную реконструкцию данных (см.
пример 7.10). По причине того, что стандартный пакет 1РТ не содержит функции, совершающие вейвлетные преобразования, значительная часть главы посвящена разработке набора таких функций, которые расширяют возможности 1РТ на базе вейвлетного анализа изображений. Разработанные функции полностью совместимы с возможностями пакета '1ч'аче1е1 Тоо!Ьох системы МАТ1 АВ, обзор которого также делается в настоящей главе, но который не является частью пакета 1РТ. В следующих главах вейвлетный анализ будет использоваться в задачах сжатия изображений.
К этой теме обращено пристальное внимание авторов современных книг и учебников по обработке цифровых изображений. ГЛАВА 8 СЖАТИЕ ИЗОБРАЖЕНИЙ Введение Задача сжатия изображения заключается в сокращении объема данных, необходимого для представления цифрового изображения. Эффект сжатия может быть достигнут путем удаления одного из трех типов избыточностпи: (1) кодовой избыточности, имеющей место, если используемые кодовые слова не являются оптимальными 1например, не имеют минимальную длину); (2) межпикссльной избыточности, которая возникает при наличии определенной корреляции меяспу близкими пикселами; (3) визуальной избыточности, содержащейся в информации, которая не воспринимается органами зрения человека (т, е, детали изображения, несущественные для глаза).