exponenta event banner

swt2

Дискретное стационарное 2-D вейвлет-преобразование

    Описание

    пример

    [A,H,V,D] = swt2(X,N,wname) возвращает коэффициенты аппроксимации A и коэффициенты детализации по горизонтали, вертикали и диагонали H, V, и Dсоответственно стационарной 2-D вейвлет-декомпозиции изображения X на уровне N использование вейвлета wname.

    Примечание

    • swt2 использует периодическое расширение.

    • swt2 использует арифметику двойной точности внутри и возвращает матрицы коэффициентов двойной точности. swt2 предупреждает о потере точности при преобразовании в двойное значение.

    [A,H,V,D] = swt2(X,N,LoD,HiD) использует указанные фильтры низкочастотной и высокочастотной вейвлет-декомпозиции LoD и HiDсоответственно.

    swc = swt2(___) возвращает коэффициенты приближения и детализации в swc.

    Примеры

    свернуть все

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

    load woman
    imagesc(X)
    colormap(map)
    title('Original')

    Figure contains an axes. The axes with title Original contains an object of type image.

    Выполнить стационарную вейвлет-декомпозицию изображения на уровне 2 с помощью db6.

    [ca,chd,cvd,cdd] = swt2(X,2,'db6');

    Извлеките из разложения аппроксимацию уровня 1 и уровня 2 и коэффициенты детализации.

    A1 = wcodemat(ca(:,:,1),255);
    H1 = wcodemat(chd(:,:,1),255);
    V1 = wcodemat(cvd(:,:,1),255);
    D1 = wcodemat(cdd(:,:,1),255);
    
    A2 = wcodemat(ca(:,:,2),255);
    H2 = wcodemat(chd(:,:,2),255);
    V2 = wcodemat(cvd(:,:,2),255);
    D2 = wcodemat(cdd(:,:,2),255);

    Отображение коэффициентов аппроксимации и детализации с двух уровней.

    subplot(2,2,1)
    imagesc(A1)
    title('Approximation Coef. of Level 1')
    
    subplot(2,2,2)
    imagesc(H1)
    title('Horizontal Detail Coef. of Level 1')
    
    subplot(2,2,3)
    imagesc(V1)
    title('Vertical Detail Coef. of Level 1')
    
    subplot(2,2,4)
    imagesc(D1)
    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.

    subplot(2,2,1)
    imagesc(A2)
    title('Approximation Coef. of Level 2')
    
    subplot(2,2,2)
    imagesc(H2)
    title('Horizontal Detail Coef. of Level 2')
    
    subplot(2,2,3)
    imagesc(V2)
    title('Vertical Detail Coef. of Level 2')
    
    subplot(2,2,4)
    imagesc(D2)
    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.

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

    Загрузите и просмотрите изображение RGB. Изображение является 3-D массивом типа uint8. С тех пор swt2 требует, чтобы первый и второй размеры были разделены на степень 2, извлекают часть изображения.

    imdata = imread('ngc6543a.jpg');
    x = imdata(1:512,1:512,:);
    image(x)
    title('RGB Image')

    Figure contains an axes. The axes with title RGB Image contains an object of type image.

    Получение стационарной вейвлет-декомпозиции изображения уровня 4 с помощью db4 вейвлет. Возвращает коэффициенты аппроксимации. Обратите внимание на размеры массива коэффициентов.

    [a,~,~,~] = swt2(x,4,'db4');
    size(a)
    ans = 1×4
    
       512   512     3     4
    
    

    Все коэффициенты имеют тип double. В массиве RGB типа doubleкаждый компонент цвета имеет значение от 0 до 1. Масштабируйте коэффициенты аппроксимации уровня 2 до значений от 0 до 1 и просмотрите результат.

    a2 = a(:,:,:,2);
    a2 = (a2-min(a2(:)))/(max(a2(:))-min(a2(:)));
    image(a2)
    title('Level 2 Approximation')

    Figure contains an axes. The axes with title Level 2 Approximation contains an object of type image.

    Получение одноуровневой стационарной вейвлет-декомпозиции изображения с помощью db4 вейвлет. Возвращает коэффициенты аппроксимации. В одноуровневой декомпозиции изображения RGB третье измерение является одиночным.

    [a,~,~,~] = swt2(x,1,'db4');
    size(a)
    ans = 1×4
    
       512   512     1     3
    
    

    Просмотрите коэффициенты аппроксимации. Предотвращение ошибок при использовании image, сжать массив коэффициентов аппроксимации, чтобы удалить одиночную размерность.

    a2 = squeeze(a);
    a2 = (a2-min(a(:)))/(max(a(:))-min(a(:)));
    image(a2)
    title('Approximation')

    Figure contains an axes. The axes with title Approximation contains an object of type image.

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

    свернуть все

    Входное изображение, указанное как вещественно-значная матрица 2-D или вещественно-значный массив 3-D. Если X является 3-D, X как предполагается, изображение RGB, также называемое truecolor изображением и третьим измерением X должно быть равно 3. Дополнительные сведения о цветных изображениях см. в разделе Типы изображений.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Уровень разложения, заданный как положительное целое число. 2N должны разделять size(X,1) и size(X,2). Использовать wmaxlev для определения максимального уровня разложения.

    Анализ вейвлета, заданного как вектор символа или скаляр строки. swt2 поддерживает только вейвлеты типа 1 (ортогональные) или типа 2 (биортогональные). Посмотрите wfilters для списка ортогональных и биоргональных вейвлетов.

    Фильтры вейвлет-декомпозиции, задаваемые как пара действительных векторов чётной длины. LoD является фильтром разложения нижних частот, и HiD - фильтр разложения верхних частот. Длины LoD и HiD должно быть равным. Посмотрите wfilters для получения дополнительной информации.

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

    свернуть все

    Коэффициенты аппроксимации, возвращаемые как многомерный массив. Размеры A зависят от размеров входа X и уровень разложения N.

    • Если X m-by-n:

      • Если N больше 1, то A m-by-n-by-N. Для 1 ≤ iN, A(:,:,i) содержит коэффициенты аппроксимации на уровне i.

      • Если N равно 1, то A m-by-n.

    • Если X m-by-n-by-3:

      • Если N больше 1, то A m-by-n-by-3-by-N. Для 1 ≤ iN и j = 1, 2, 3, A(:,:,j,i) содержит коэффициенты аппроксимации на уровне i.

      • Если N равно 1, то A m-by-n-by-1-by-3. Поскольку по умолчанию MATLAB ® удаляет последние одиночные размеры, третье измерение является одиночным.

    Типы данных: double

    Коэффициенты детализации, возвращаемые как многомерные массивы одинакового размера. H, V, и D содержат коэффициенты детализации по горизонтали, вертикали и диагонали соответственно. Размеры массивов зависят от размеров входных данных. X и уровень разложения N.

    • Если X m-by-n:

      • Если N больше 1, массивы m-by-n-by-N. Для 1 ≤ iN, H(:,:,i), V(:,:,i), и D(:,:,i) содержат коэффициенты детализации на уровне i.

      • Если N равно 1, массивы m-by-n.

    • Если X m-by-n-by-3:

      • Если N больше 1, массивы m-by-n-by-3-by-N. Для 1 ≤ iN и j = 1, 2, 3, H(:,:,j,i), V(:,:,j,i), и D(:,:,j,i) содержат коэффициенты детализации на уровне i.

      • Если N равно 1, массивы m-by-n-by-1-by-3. Для j = 1, 2, 3, H(:,:,1,j), V(:,:,1,j) и D(:,:,1,j) содержат коэффициенты детализации. Поскольку по умолчанию MATLAB удаляет последние одиночные размеры, третье измерение является одиночным.

    Типы данных: double

    Стационарная вейвлет-декомпозиция, возвращаемая как многомерный массив. swc - конкатенация коэффициентов аппроксимации A и коэффициенты детализации H, V, и D.

    • Если X m-by-n и N больше 1, то swc = cat(3,H,V,D,A(:,:,N)).

    • Если X m-by-n и N равно 1, то swc = cat(3,H,V,D,A).

    • Если X m-by-n-by-3 и N больше 1, то swc = cat(4,H,V,D,A(:,:,:,N)).

    • Если X m-by-n-by-3 и N равно 1, то swc = cat(4,H,V,D,A).

    Алгоритмы

    свернуть все

    2-D Дискретное стационарное вейвлет-преобразование

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

    Эта диаграмма описывает базовый шаг разложения для изображений.

    где

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

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

    Инициализация

    • cA0 = s

    • F0 = LoD

    • G0 = HiD

    • где обозначает upsample.

    Обратите внимание, что size(cAj) = size(cDj(h)) = size(cDj(v)) = size(cDj(d)) = s, где s равно размеру анализируемого изображения.

    Массивы коэффициентов изображения Truecolor

    Чтобы отличить одноуровневую декомпозицию трюкколорного изображения от многоуровневой декомпозиции индексированного изображения, массивы аппроксимации и коэффициентов детализации трюкколорных изображений являются 4-D массивами.

    • При многоуровневой декомпозиции размеры A, H, V, и D m-by-n-by-3-by-k, где k - уровень разложения.

    • При одноуровневой декомпозиции размеры A, H, V, и D m-by-n-by-1-by-3. Поскольку по умолчанию MATLAB удаляет последние одиночные размеры, третий размер массивов является одиночным.

    Вопросы совместимости

    развернуть все

    В R2017b изменилось поведение

    Ссылки

    [1] Насон, Г. П. и Б. В. Сильверман. «Стационарное вейвлет-преобразование и некоторые статистические приложения». В «Вейвлетах и статистике» под редакцией Анестиса Антониадиса и Жоржа Оппенгейма, 103: 281-99. Нью-Йорк, Нью-Йорк: Спрингер Нью-Йорк, 1995. https://doi.org/10.1007/978-1-4612-2544-7_17.

    [2] Койфман, Р. Р. и Д. Л. Донохо. «Перевод-инвариантное снятие шума». В «Вейвлетах и статистике» под редакцией Анестиса Антониадиса и Жоржа Оппенгейма 103: 125-50. Нью-Йорк, Нью-Йорк: Спрингер Нью-Йорк, 1995. https://doi.org/10.1007/978-1-4612-2544-7_9.

    [3] Pesquet, J.-C., H. Krim и H. Carfantan. «Инвариантные во времени ортонормированные вейвлет-представления». Транзакции IEEE по обработке сигналов 44, № 8 (август 1996 года): 1964-70. https://doi.org/10.1109/78.533717.

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

    .

    См. также

    | |

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