dualtree2

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

Описание

[A,D] = dualtree2(X) возвращает 2-D комплексное вейвлет (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 и ортогональную пару Q-сдвига Гильберта вейвлета фильтра длиной 10 для уровней, больших или равных 2.

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

пример

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

Примеры

свернуть все

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

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 содержит два изображения RGB 256 на 256.

Типы данных: 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) -открыть фильтр Антонини [1]

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

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

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

свернуть все

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

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

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

Ссылки

[1] Antonini, M., M. Barlaud, P. Mathieu, and I. 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., and A. Tabatabai. «Субдиапазонное кодирование цифровых изображений с использованием симметричных фильтров короткого ядра и методов арифметического кодирования». В ICASSP-88. Международная конференция по акустике, речи и обработке сигналов, 761-64. Нью-Йорк, Нью-Йорк, США: IEEE, 1988. https://doi.org/10.1109/ICASSP.1988.196696.

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

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

.
Введенный в R2020a