wavedec2

2D разложение вейвлета

Синтаксис

[C,S] = wavedec2(X,N,wname)
[C,S] = wavedec2(X,N,Lod,Hid)

Описание

пример

[C,S] = wavedec2(X,N,wname) возвращает разложение вейвлета матричного X на уровне N с помощью вейвлета wname. Выходная структура разложения состоит из вектора разложения вейвлета C и бухгалтерский матричный S, который содержит количество коэффициентов уровнем и ориентацией.

[C,S] = wavedec2(X,N,Lod,Hid) возвращает разложение вейвлета с помощью заданного lowpass, и highpass разложение фильтрует LoD и HiD, соответственно. Смотрите wfilters для деталей.

Примеры

свернуть все

Извлечение и изображения на дисплее деталей уровня разложения вейвлета. Получившиеся изображения подобны визуализации в Анализе В качестве примера На уровне 2 с Хааром---> женщина индексированное изображение, доступное в Вейвлете 2D интерактивный инструмент. Используйте waveletAnalyzer, чтобы запустить этот инструмент.

Загрузите изображение. Выполните разложение вейвлета уровня 2 изображения с помощью вейвлета haar.

load woman
[c,s]=wavedec2(X,2,'haar');

Извлеките приближение уровня 1 и детализируйте коэффициенты.

[H1,V1,D1] = detcoef2('all',c,s,1);
A1 = appcoef2(c,s,'haar',1);

Используйте wcodemat, чтобы повторно масштабировать коэффициенты на основе их абсолютных значений. Отобразите перемасштабированные коэффициенты.

V1img = wcodemat(V1,255,'mat',1);
H1img = wcodemat(H1,255,'mat',1);
D1img = wcodemat(D1,255,'mat',1);
A1img = wcodemat(A1,255,'mat',1);

subplot(2,2,1)
imagesc(A1img)
colormap pink(255)
title('Approximation Coef. of Level 1')

subplot(2,2,2)
imagesc(H1img)
title('Horizontal Detail Coef. of Level 1')

subplot(2,2,3)
imagesc(V1img)
title('Vertical Detail Coef. of Level 1')

subplot(2,2,4)
imagesc(D1img)
title('Diagonal Detail Coef. of Level 1')

Извлеките приближение уровня 2 и детализируйте коэффициенты.

[H2,V2,D2] = detcoef2('all',c,s,2);
A2 = appcoef2(c,s,'haar',2);

Используйте wcodemat, чтобы повторно масштабировать коэффициенты на основе их абсолютных значений. Отобразите перемасштабированные коэффициенты.

V2img = wcodemat(V2,255,'mat',1);
H2img = wcodemat(H2,255,'mat',1);
D2img = wcodemat(D2,255,'mat',1);
A2img = wcodemat(A2,255,'mat',1);

figure
subplot(2,2,1)
imagesc(A2img)
colormap pink(255)
title('Approximation Coef. of Level 2')

subplot(2,2,2)
imagesc(H2img)
title('Horizontal Detail Coef. of Level 2')

subplot(2,2,3)
imagesc(V2img)
title('Vertical Detail Coef. of Level 2')

subplot(2,2,4)
imagesc(D2img)
title('Diagonal Detail Coef. of Level 2')

Этот пример показывает структуру выходных матриц wavedec2.

Загрузите и отобразите изображение.

load woman
imagesc(X)
colormap(map)

Сохраните текущий дискретный вейвлет, преобразовывают дополнительный режим.

origMode = dwtmode('status','nodisplay');

Изменитесь на периодическую граничную обработку. Функция dwtmode отображает сообщение, указывающее, что дополнительный режим DWT изменяется.

dwtmode('per');
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!  WARNING: Change DWT Extension Mode  !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                         
*****************************************
**  DWT Extension Mode: Periodization  **
*****************************************
                                         

Выполните разложение уровня 3 изображения с помощью db1 (Хаар) вейвлет.

[c,s] = wavedec2(X,3,'db1');

Возвратите число элементов в изображении X и вектор коэффициентов c. Подтвердите, что число элементов в каждом равно.

numel(X)
ans = 65536
numel(c)
ans = 65536

Отобразите бухгалтерский матричный s. Первая строка отображает размерности крупного приближения шкалы изображения. Последняя строка отображает размерности оригинального изображения. Промежуточные строки отображают размерности коэффициентов детали на трех уровнях разложения, происхождения крупного к прекрасной шкале.

s
s = 5×2

    32    32
    32    32
    64    64
   128   128
   256   256

Дискретный вейвлет сброса преобразовывает дополнительный режим к своему исходному режиму. Функция dwtmode отображает сообщение, указывающее, что дополнительный режим DWT изменяется.

dwtmode(origMode);
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!  WARNING: Change DWT Extension Mode  !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                       
*******************************************************
**  DWT Extension Mode: Symmetrization (half-point)  **
*******************************************************
                                                       

Входные параметры

свернуть все

Входные данные, заданные как M с действительным знаком-by-N матрица, представляющая индексируемое изображение или M-by-N-by-3 массив, представляющий изображение истинного цвета. Для получения дополнительной информации об изображениях истинного цвета смотрите RGB (Истинный цвет) Изображения (MATLAB).

Уровень разложения, заданный как положительное целое число. wavedec2 не осуществляет ограничение максимального уровня. Используйте wmaxlev, чтобы определить максимальный уровень разложения, возможный из матричного X с помощью вейвлета wname. Максимальный уровень в последний раз находится на одном уровне, для которого по крайней мере один коэффициент правилен.

Анализ вейвлета, заданного как вектор символов или скаляр строки.

Примечание

wavedec2 поддерживает только (ортогональный) Тип 1 или Тип 2 (биоортогональные) вейвлеты. Смотрите wfilters для списка ортогональных и биоортогональных вейвлетов.

Фильтры разложения вейвлета сопоставлены с ортогональным или биоортогональным вейвлетом, заданным как ровная длина векторы с действительным знаком. LoD является lowpass фильтром разложения, и HiD является highpass фильтром разложения. Смотрите wfilters для деталей.

Выходные аргументы

свернуть все

Вектор разложения вейвлета. Векторный C содержит приближение и коэффициенты детали, организованные уровнем. Бухгалтерский матричный S используется, чтобы проанализировать C.

Векторный C организован как A (N), H (N), V (N), D (N), H (N-1), V (N-1), D (N-1), …, H (1), V (1), D (1), где A, H, V и D - каждый вектор - строка. Каждый вектор является постолбцовым устройством хранения данных матрицы.

  • A содержит коэффициенты приближения.

  • H содержит горизонтальные коэффициенты детали.

  • V содержит вертикальные коэффициенты детали.

  • D содержит диагональные коэффициенты детали.

Бухгалтерская матрица. Матричный S содержит размерности коэффициентов вейвлета уровнем и используется, чтобы проанализировать вектор разложения вейвлета C.

  • S(1,:) = размер коэффициентов приближения (N).

  • S(i,:) = размер коэффициентов детали (N-i+2) для i = 2... N+1 и S(N+2,:) = size(X).

Следующая схема показывает отношение между C и S в разложении вейвлета 512 512 матрица.

Когда X представляет индексируемое изображение, выходные массивы cA, cH, cV, и cD является m-by-n матрицы. Когда X представляет изображение истинного цвета, это - m-by-n-by-3 массив, где каждый m-by-n матрица представляет красную, зеленую, или синюю цветную плоскость, конкатенированную по третьему измерению. Размер векторного C и размер матричного S зависят от типа анализируемого изображения.

Для изображения истинного цвета вектор разложения C и соответствующий бухгалтерский матричный S могут быть представлены как показано.

Алгоритмы

Для изображений алгоритм, подобный одномерному случаю, возможен для двумерных вейвлетов и масштабирующихся функций, полученных из одномерных векторов продуктом тензора. Этот вид двумерного DWT приводит к разложению коэффициентов приближения на уровне j в четырех компонентах: приближение на уровне j +1 и детали в трех ориентациях (горизонталь, вертикальная, и диагональная).

График описывает основной шаг разложения для изображений:

где

  • — Субдискретизируйте столбцы: сохраните ровные индексированные столбцы.

  • — Субдискретизируйте строки: сохраните даже индексированные строки.

  • — Примените операцию свертки с фильтром к X строки записи.

  • — Примените операцию свертки с фильтром к X строки записи.

и

Инициализация: cA 0 = s.

Так, для J = 2, двумерное дерево вейвлета имеет форму

Ссылки

[1] Daubechies, я. Десять лекций по вейвлетам, CBMS-NSF региональный ряд конференции в прикладной математике. Филадельфия, PA: SIAM Эд, 1992.

[2] Mallat, S. G. “Теория для Разложения Сигнала Мультиразрешения: Представление Вейвлета”, Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту. Издание 11, Выпуск 7, июль 1989, стр 674–693.

[3] Мейер, Y. Вейвлеты и операторы. Переведенный Д. Х. Сэлинджером. Кембридж, Великобритания: Издательство Кембриджского университета, 1995.

Расширенные возможности

Смотрите также

| | | |

Представлено до R2006a