dualtree2

Q-сдвиг Кингсбери 2D двойной древовидный комплексный вейвлет преобразовывает

Описание

[A,D] = dualtree2(X) возвращает 2D двойной древовидный комплексный вейвлет преобразовывает (DTCWT) X использование фильтров Q-сдвига Кингсбери. Выход A матрица итогового уровня с действительным знаком, масштабирующего (lowpass) коэффициенты. Выход D L-by-1 массив ячеек коэффициентов вейвлета с комплексным знаком, где L является уровнем преобразования. Для каждого элемента D существует шесть поддиапазонов вейвлета.

DTCWT получен по умолчанию вниз, чтобы выровнять floor(log2(min([H W]))) , где H и W относятся к высоте (размерность строки) и ширина (размерность столбца) X, соответственно. Если любая строка или размерности столбца X являются нечетными, X расширен по тому измерению путем отражения вокруг последней строки или столбца.

По умолчанию, dualtree2 использует почти симметричную биоортогональную пару фильтра вейвлета с длинами 5 (масштабирующий фильтр) и 7 (фильтр вейвлета) для уровня 1 и ортогональной пары фильтра вейвлета К-шифта Гильберта длины 10 для уровней, больше, чем или равный 2.

[___,Ascale] = dualtree2(X) возвращает масштабирующийся (lowpass) коэффициенты на каждом уровне.

пример

[___] = dualtree2(X,Name,Value) задает аргументы пары "имя-значение" использования дополнительных опций. Например, 'LevelOneFilter','antonini' задает (9,7) - касаются фильтра Antonini как биоортогонального фильтра, чтобы использовать в анализе первого уровня.

Примеры

свернуть все

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

load mask
imagesc(X)
colormap gray

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

Получите двойное древовидное комплексное преобразование вейвлета изображения вниз к четырем уровням разрешения.

[a,d] = dualtree2(X,'Level',4);

Отобразите итоговый уровень, масштабирующий (lowpass) коэффициенты.

imagesc(a)
colormap gray

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

Отобразите дерево B коэффициенты вейвлета в самой прекрасной шкале. Каждый заголовок подграфика обозначает конкретный поддиапазон ("H" для highpass, "L" для lowpass).

orientation = ["HL","HH","LH","LH","HH","HL"];
for k=1:6
    subplot(3,2,k)
    imagesc(imag(d{1}(:,:,k)))
    title(['Orientation: ' orientation(k)])
    set(gca,'xtick',[])
    set(gca,'ytick',[])
end
colormap gray
set(gcf,'Position',[0 0 560 800])

Figure contains 6 axes. Axes 1 with title Orientation: HL contains an object of type image. Axes 2 with title Orientation: HH contains an object of type image. Axes 3 with title Orientation: LH contains an object of type image. Axes 4 with title Orientation: LH contains an object of type image. Axes 5 with title Orientation: HH contains an object of type image. Axes 6 with title Orientation: HL contains an object of type image.

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

свернуть все

Входные данные в виде матрицы с действительным знаком, трехмерного массива или 4-D массива. X H с действительным знаком-by-W-by-C-by-N массив, где H является высотой или размерностью строки, W является шириной или размерностью столбца, C является количеством каналов, и N является количеством изображений. X должен иметь по крайней мере две выборки в каждой из размерностей строки и столбца.

Пример: если X 256 256 3 2 массивами, X содержит два 256 256 изображения RGB.

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'LevelOneFilter','antonini','Level',4

Уровень разложения в виде положительного целого числа, меньше чем или равного floor(log2(min([H W]))) , где H и W относятся к высоте (размерность строки) и ширина (размерность столбца) X, соответственно. Если незаданный, Level значения по умолчанию к floor(log2(min([H W]))) .

Биоортогональный фильтр, чтобы использовать в анализе первого уровня в виде:

  • 'legall' — Фильтр LeGall 5/3 [3]

  • 'nearsym13_19' — (13,19) - касаются почти ортогонального фильтра [2]

  • 'nearsym5_7' — (5,7) - касаются почти ортогонального фильтра [1]

  • 'antonini' — (9,7) - касаются фильтра Antonini [1]

По умолчанию, dualtree2 использование 'nearsym5_7', почти симметричная биоортогональная пара фильтра с длинами 5 (масштабирующий фильтр) и 7 (фильтр вейвлета).

Ортогональный Гильбертов анализ Q-сдвига фильтрует парную длину, чтобы использовать для уровней 2 и выше в виде одного из перечисленных значений [2]. По умолчанию, dualtree2 использует ортогональную пару фильтра вейвлета К-шифта Гильберта длины 10.

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

свернуть все

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

Коэффициенты вейвлета, возвращенные как L-by-1 массив ячеек коэффициентов вейвлета с комплексным знаком, где L является уровнем преобразования. Действительные части коэффициентов от дерева A, и мнимые части от дерева B. Для каждого элемента D существует шесть поддиапазонов вейвлета.

Коэффициенты приближения на каждом уровне преобразования, возвращенного как L-by-1 массив ячеек масштабирования с действительным знаком (lowpass) коэффициенты, где L является уровнем преобразования. Если X матрица, каждый элемент D матрица, размерность столбца которой равняется размерности столбца X.

Ссылки

[1] Antonini, M., М. Барло, П. Мэтью и я. Daubechies. “Отобразите Кодирование Используя Преобразование Вейвлета”. Транзакции IEEE на Обработке изображений 1, № 2 (апрель 1992): 205–20. https://doi.org/10.1109/83.136597.

[2] Кингсбери, Ник. “Комплексные Вейвлеты для Анализа Инварианта Сдвига и Фильтрации Сигналов”. Примененный и Вычислительный Гармонический Анализ 10, № 3 (май 2001): 234–53. https://doi.org/10.1006/acha.2000.0343.

[3] Le Gall, D. и А. Тэбэйтабай. “Кодирование поддиапазона Цифровых изображений Используя Симметричные Короткие Фильтры Ядра и Методы Кодирования Арифметики”. В ICASSP-88., Международная конференция по вопросам Акустики, Речи и Обработки сигналов, 761–64. Нью-Йорк, Нью-Йорк, США: IEEE, 1988. https://doi.org/10.1109/ICASSP.1988.196696.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2020a