wavedec2

Описание

пример

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

Примечание

Для gpuArray входы, поддерживаемые режимы 'symh' ('sym') и 'per'. Если вход является gpuArray, дискретный режим расширения вейвлет, используемый в wavedec2 по умолчанию является 'symh' если текущий режим расширения не 'per'. Смотрите пример Многоуровневый 2 -D Дискретный Вейвлет преобразование на графическом процессоре.

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

Примеры

свернуть все

В этом примере показано, как извлечь и отобразить изображения деталей уровня разложения вейвлетов.

Загрузка изображения. Выполните вейвлет изображения уровня 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')

Figure contains 4 axes. Axes 1 with title Approximation Coef. of Level 1 contains an object of type image. Axes 2 with title Horizontal Detail Coef. of Level 1 contains an object of type image. Axes 3 with title Vertical Detail Coef. of Level 1 contains an object of type image. Axes 4 with title Diagonal Detail Coef. of Level 1 contains an object of type image.

Извлеките приближение уровня 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')

Figure contains 4 axes. Axes 1 with title Approximation Coef. of Level 2 contains an object of type image. Axes 2 with title Horizontal Detail Coef. of Level 2 contains an object of type image. Axes 3 with title Vertical Detail Coef. of Level 2 contains an object of type image. Axes 4 with title Diagonal Detail Coef. of Level 2 contains an object of type image.

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

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

load woman
imagesc(X)
colormap(map)

Figure contains an axes. The axes contains an object of type image.

Сохраните текущий режим расширения дискретного вейвлет.

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

Изменение периодической обработки границ. The dwtmode функция отображает сообщение об изменении режима расширения DWT.

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

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

[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(origMode,'nodisplay')

Обратитесь к разделу Поддержка GPU по версии (Parallel Computing Toolbox), чтобы узнать, какие графические процессоры поддерживаются.

Загрузка изображения. Поместите изображение на графический процессор с помощью gpuArray. Сохраните текущий режим расширения.

load mask
imgg = gpuArray(X);
origMode = dwtmode('status','nodisp');

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

dwtmode('zpd','nodisp')
[c,s] = wavedec2(imgg,3,'db4');

Текущий режим расширения zpd не поддерживается для gpuArray вход. Поэтому DWT выполняется вместо этого с помощью sym режим расширения. Чтобы подтвердить это, установите режим внутреннего абонента на sym и возьмите DWT из noisdoppg, затем сравните с предыдущим результатом.

dwtmode('sym','nodisp')
[csym,ssym] = wavedec2(imgg,3,'db4');
[max(abs(c-csym)) max(abs(s-ssym))]
ans =

     0     0     0

Установите текущий режим расширения на per и получите трехуровневый DWT imgg. Режим расширения per поддерживается для gpuArray вход. Подтвердите, что результат отличается от sym результаты.

dwtmode('per','nodisp')
[cper,sper] = wavedec2(imgg,3,'db4');
[length(csym) ; length(cper)]
ans = 2×1

       71542
       65536

ssym
ssym = 5×2

    38    38
    38    38
    69    69
   131   131
   256   256

sper
sper = 5×2

    32    32
    32    32
    64    64
   128   128
   256   256

Восстановите режим расширения к исходной настройке.

dwtmode(origMode,'nodisp')

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

свернуть все

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

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

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

Примечание

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

Фильтры вейвлет-разложения, сопоставленные с ортогональным или биортогональным вейвлетом, заданы как реальные векторы четной длины. LoD - lowpass разложения, и HiD - фильтр высокочастотного разложения. Посмотрите 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 n матрицами. Когда X представляет изображение truecolor, это m массив -by n -by-3, где каждая матрица m -by n представляет красную, зеленую или синюю цветовую плоскость, сцепленную по третьей размерности. Размер вектора C и размер матрицы S зависят от типа анализируемого изображения.

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

Алгоритмы

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

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

где

  • - Downsample columns: сохраните четные индексированные столбцы.

  • - Понижающие строки: сохраните четные индексированные строки.

  • - Свертка с фильтром X строки записи.

  • - Свертка с фильтром X столбцы записи.

и

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

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

Ссылки

[1] Daubechies, Ингрид. Десять лекций по вейвлетам. Серия региональных конференций CBMS-NSF по прикладной математике 61. Филадельфия, Pa: Общество промышленной и прикладной математики, 1992.

[2] Mallat, S.G. «A Theory for Multirresolution Signal Decomposition: The Wavelet Representation». Транзакции IEEE по анализу шаблонов и машинной разведке 11, № 7 (июль 1989): 674-93. https://doi.org/10.1109/34.192463.

[3] Meyer, Y. Wavelets and Operators. Перевод Д. Х. Сэлинджера. Кембридж, Великобритания: Cambridge University Press, 1995.

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

..

См. также

| | | |

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