Двойное дерево и двойная плотность 2-D вейвлет-преобразования
возвращает значение wt = dddtree2(typetree,x,level,fdf,df)typetree дискретное вейвлет-преобразование входного изображения 2-D, x, до уровня, level. Вейвлет-преобразование использует фильтры разложения (анализа), fdf, для первого уровня и фильтров анализа, df, для последующих уровней. Поддерживаемые вейвлет-преобразования - это критически дискретизированные DWT, двойная плотность, реальное ориентированное двойное дерево, комплексное ориентированное двойное дерево, реальное ориентированное двойное дерево двойной плотности и комплексное ориентированное двойное дерево двойной плотности вейвлет-преобразование. Критически дискретизированный DWT представляет собой разложение банка фильтров в ортогональном или биоргональном базисе (нередундантном). Другие вейвлет-преобразования представляют собой избыточно дискретизированные блоки фильтров с различными степенями направленной избирательности.
использует фильтры, указанные в wt = dddtree2(typetree,x,level,fname1,fname2)fname1 для первого этапа вейвлет-преобразования двойного дерева и фильтров, указанных в fname2 для последующих этапов вейвлет-преобразования двойного дерева. Указание различных фильтров для этапа 1 допустимо и необходимо только в том случае, если typetree является 'realdt', 'cplxdt', 'realdddt', или 'cplxdddt'.
Визуализируйте шесть направленных вейвлетов реального ориентированного двухдеревого вейвлетного преобразования.
Создайте фильтры анализа Фарраса первого этапа для двух деревьев.
Faf{1} = [0 0
-0.0884 -0.0112
0.0884 0.0112
0.6959 0.0884
0.6959 0.0884
0.0884 -0.6959
-0.0884 0.6959
0.0112 -0.0884
0.0112 -0.0884
0 0];
Faf{2} = [ 0.0112 0
0.0112 0
-0.0884 -0.0884
0.0884 -0.0884
0.6959 0.6959
0.6959 -0.6959
0.0884 0.0884
-0.0884 0.0884
0 0.0112
0 -0.0112];Создайте 6-отводные фильтры анализа Кингсбери Q-shift для последующих этапов анализа множественных решений.
af{1} = [ 0.0352 0
0 0
-0.0883 -0.1143
0.2339 0
0.7603 0.5875
0.5875 -0.7603
0 0.2339
-0.1143 0.0883
0 0
0 -0.0352];
af{2} = [0 -0.0352
0 0
-0.1143 0.0883
0 0.2339
0.5875 -0.7603
0.7603 0.5875
0.2339 0
-0.0883 -0.1143
0 0
0.0352 0];Для визуализации шести направленных вейвлетов необходимо изменить вейвлет-коэффициенты четырехуровневого реального ориентированного двухдеревого вейвлетного преобразования изображения нулей. Создайте изображение нулей, размер которых удовлетворяет следующим ограничениям:
Размеры строк и столбцов делятся на .
Минимальный размер строки и столбца должен быть больше или равен произведению максимальной длины фильтров анализа и .
J = 4; L = 3*2^(J+1); N = L/2^J; x = zeros(2*L,3*L); [numrows,numcols] = size(x)
numrows = 192
numcols = 288
Получение реального ориентированного вейвлет-преобразования двойного дерева изображения нулей до уровня 4.
wt = dddtree2('realdt',x,J,Faf,af)wt = struct with fields:
type: 'realdt'
level: 4
filters: [1x1 struct]
cfs: {1x5 cell}
sizes: [14x2 double]
Четвертый элемент в wt.cfs представляют собой вейвлет-коэффициенты уровня 4. Вставьте 1 в одну позицию шести вейвлет-поддиапазонов (три ориентации два дерева) в самой грубой шкале и инвертируйте вейвлет-преобразование.
wt.cfs{4}(N/2,N/2+0*N,1,1) = 1;
wt.cfs{4}(N/2,N/2+1*N,2,1) = 1;
wt.cfs{4}(N/2,N/2+2*N,3,1) = 1;
wt.cfs{4}(N/2+N,N/2+0*N,1,2) = 1;
wt.cfs{4}(N/2+N,N/2+1*N,2,2) = 1;
wt.cfs{4}(N/2+N,N/2+2*N,3,2) = 1;
xrec = idddtree2(wt);Визуализируйте шесть направленных вейвлетов.
imagesc(xrec); colormap gray; axis off; title('Real Oriented Dual-Tree Wavelets')

Получение вейвлет-преобразования с двойной плотностью изображения.
Загрузите изображение и получите вейвлет-преобразование с двойной плотностью с помощью фильтров с 6 отводами (см. dtfilters).
load xbox imagesc(xbox) colormap gray

wt = dddtree2('ddt',xbox,1,'filters1')
wt = struct with fields:
type: 'ddt'
level: 1
filters: [1x1 struct]
cfs: {[64x64x8 double] [64x64 double]}
sizes: [10x2 double]
В критически дискретизированном 2-D дискретном вейвлет-преобразовании имеется один фильтр верхних частот. Фильтрация строк и столбцов изображения фильтром верхних частот соответствует извлечению деталей в диагональной ориентации. В вейвлет-преобразовании с двойной плотностью имеется два фильтра верхних частот, H1 и H2. Диагонально ориентированные детали извлекаются путем фильтрации строк и столбцов изображения четырьмя комбинациями фильтров верхних частот. Визуализируйте диагональные детали в четырех вейвлет-верхних полосах.
H1H1 = wt.cfs{1}(:,:,4);
H1H2 = wt.cfs{1}(:,:,5);
H2H1 = wt.cfs{1}(:,:,7);
H2H2 = wt.cfs{1}(:,:,8);
subplot(2,2,1)
imagesc(H1H1);
title('H1 H1')
colormap gray;
subplot(2,2,2);
imagesc(H1H2);
title('H1 H2')
subplot(2,2,3)
imagesc(H2H1)
title('H2 H1')
subplot(2,2,4)
imagesc(H2H2)
title('H2 H2')
Получение сложного вейвлет-преобразования двойного дерева изображения. Показать, что комплексное вейвлет-преобразование двойного дерева может обнаружить два различных диагональных направления.
Загрузите изображение и получите комплексное вейвлет-преобразование двойного дерева.
load xbox imagesc(xbox) colormap gray

wt = dddtree2('cplxdt',xbox,1,'FSfarras','qshift10')
wt = struct with fields:
type: 'cplxdt'
level: 1
filters: [1x1 struct]
cfs: {[5-D double] [64x64x2x2 double]}
sizes: [5x2 double]
Получение и отображение диагонально ориентированных деталей из двух деревьев.
waveletcfs = wt.cfs{1};
subplot(2,2,1)
imagesc(waveletcfs(:,:,3,1,1))
title('Diagonal - Tree 1 - Real')
colormap gray
subplot(2,2,2)
imagesc(waveletcfs(:,:,3,1,2))
title('Diagonal - Tree 1 - Imaginary')
subplot(2,2,3)
imagesc(waveletcfs(:,:,3,2,1))
title('Diagonal - Tree 2 - Real')
subplot(2,2,4)
imagesc(waveletcfs(:,:,3,2,2))
title('Diagonal - Tree 2 - Imaginary')
typetree - Тип вейвлет-разложения'dwt' | 'ddt' | 'realdt' | 'cplxdt' | 'realdddt' | 'cplxdddt'Тип вейвлет-декомпозиции, указанный как один из 'dwt', 'ddt', 'realdt', 'cplxdt', 'realdddt', или 'cplxdddt'. Тип, 'dwt'производит критически дискретизированное (нерезервируемое) дискретное вейвлет-преобразование. Другие типы декомпозиции производят сверхдискретизированные вейвлет-преобразования. 'ddt' создает вейвлет-преобразование с двойной плотностью с одним масштабированием и двумя вейвлет-фильтрами для фильтрации строк и столбцов. Вейвлет-преобразование с двойной плотностью использует одни и те же фильтры на всех этапах. 'realdt' и 'cplxdt' получение ориентированных двухдеревых вейвлет-преобразований, состоящих из двух и четырех разделяемых вейвлет-преобразований. 'realdddt' и 'cplxdddt' получить двойные вейвлет-преобразования двойной плотности. Вейвлет-преобразования двойного дерева используют различные фильтры для первого этапа (уровня).
x - Входное изображениеВходное изображение, заданное как матрица с размерами строки и столбца четной длины. Размеры строк и столбцов должны быть разделены на 2L, где L - уровень вейвлет-преобразования. Кроме того, минимальный размер строки и столбца изображения должен быть больше или равен произведению максимальной длины фильтров разложения (анализа) и 2 (L-1).
Типы данных: double
level - Уровень вейвлет-разложенияУровень вейвлет-разложения, заданный как положительное целое число. Если L - значение level, 2L должны разделить размеры строк и столбцов x. Кроме того, минимальный размер строки и столбца изображения должен быть больше или равен произведению максимальной длины фильтров разложения (анализа) и 2 (L-1).
fdf - Фильтры анализа первого уровняФильтры анализа уровня один, заданные как матрица или массив ячеек матриц. Определить fdf как матрица, когда typetree является 'dwt' или 'ddt'. Размер и структура матрицы зависят от typetree введите следующее:
'dwt' - Это критически дискретизированное дискретное вейвлет-преобразование. В этом случае fdf - матрица из двух столбцов с фильтром нижних частот (масштабирование) в первом столбце и фильтром верхних частот (вейвлет) во втором столбце.
'ddt' - это вейвлет-преобразование с двойной плотностью. DWT с двойной плотностью представляет собой трехканальный идеальный набор восстановительных фильтров. fdf - матрица из трех столбцов с фильтром нижних частот (масштабирование) в первом столбце и двумя фильтрами верхних частот (вейвлет) во втором и третьем столбцах. В вейвлет-преобразовании с двойной плотностью одиночный низкочастотный и два высокочастотных фильтра образуют трехканальный идеальный набор восстановительных фильтров. Это эквивалентно трем фильтрам, образующим плотную раму. Нельзя произвольно выбирать два вейвлет-фильтра в DWT двойной плотности. Три фильтра вместе должны образовывать плотную раму.
Определить fdf как массив ячеек 1 на 2 матриц, когда typetree является преобразованием с двойным деревом, 'realdt', 'cplxdt', 'realdddt', или 'cplxdddt'. Размер и структура матричных элементов в массиве ячеек зависят от typetree введите следующее:
Для комплексных вейвлет-преобразований с двойным деревом, 'realdt' и 'cplxdt', fdf{1} - матрица N-by-2, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для первого дерева и fdf{2} - матрица N-by-2, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для второго дерева.
Для двойных комплексных вейвлет-преобразований с двойной плотностью, 'realdddt' и 'cplxdddt', fdf{1} - матрица N-by-3, содержащая низкочастотный (масштабирование) и два высокочастотных (вейвлет) фильтра для первого дерева и fdf{2} является матрицей N-by-3, содержащей фильтры нижних частот (масштабирование) и два фильтра верхних частот (вейвлет) для второго дерева.
df - Фильтры анализа для уровней > 1Фильтры анализа для уровней > 1, заданные как матрица или массив ячеек матриц. Определить df как матрица, когда typetree является 'dwt' или 'ddt'. Размер и структура матрицы зависят от typetree введите следующее:
'dwt' - Это критически дискретизированное дискретное вейвлет-преобразование. В этом случае df - матрица из двух столбцов с фильтром нижних частот (масштабирование) в первом столбце и фильтром верхних частот (вейвлет) во втором столбце. Для критически отобранного ортогонального или биортогонального DWT фильтры в df и fdf должны быть идентичными.
'ddt' - это вейвлет-преобразование с двойной плотностью. DWT с двойной плотностью представляет собой трехканальный идеальный набор восстановительных фильтров. df - матрица из трех столбцов с фильтром нижних частот (масштабирование) в первом столбце и двумя фильтрами верхних частот (вейвлет) во втором и третьем столбцах. В вейвлет-преобразовании с двойной плотностью одиночный низкочастотный и два высокочастотных фильтра образуют трехканальный идеальный набор восстановительных фильтров. Это эквивалентно трем фильтрам, образующим плотную раму. Для DWT двойной плотности фильтры в df и fdf должны быть идентичными.
Определить df как массив ячеек 1 на 2 матриц, когда typetree является преобразованием с двойным деревом, 'realdt', 'cplxdt', 'realdddt', или 'cplxdddt'. Для преобразований с двойным деревом фильтры в fdf и df должно быть иначе. Размер и структура матричных элементов в массиве ячеек зависят от typetree введите следующее:
Для вейвлет-преобразований с двойным деревом, 'realdt' и 'cplxdt', df{1} - матрица N-by-2, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для первого дерева и df{2} - матрица N-by-2, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для второго дерева.
Для двойных комплексных вейвлет-преобразований с двойной плотностью, 'realdddt' и 'cplxdddt', df{1} - матрица N-by-3, содержащая низкочастотный (масштабирование) и два высокочастотных (вейвлет) фильтра для первого дерева и df{2} является матрицей N-by-3, содержащей фильтры нижних частот (масштабирование) и два фильтра верхних частот (вейвлет) для второго дерева.
fname - Имя фильтраИмя фильтра, указанное как вектор символа или скаляр строки. Для критически отобранного DWT укажите любой допустимый ортогональный или биоргональный вейвлет-фильтр. Посмотрите wfilters для получения подробной информации. Избыточные вейвлет-преобразования см. в разделе dtfilters для допустимых имен фильтров.
fname1 - Имя фильтра первой ступениИмя фильтра первой ступени, указанное как вектор символа или скаляр строки. Указание фильтра первого уровня, который отличается от фильтров вейвлета и масштабирования на последующих уровнях, допустимо и необходимо только при преобразованиях вейвлета с двойным деревом, 'realdt', 'cplxdt', 'realdddt', и 'cplxdddt'.
fname2 - Имя фильтра для ступеней > 1Имя фильтра для этапов > 1, указанное как вектор символа или скаляр строки. Указание другого фильтра для этапов > 1 допустимо и необходимо только при преобразованиях с двойным деревом, 'realdt', 'cplxdt', 'realdddt', и 'cplxdddt'.
wt - Вейвлет-преобразованиеВейвлет-преобразование, возвращаемое как структура со следующими полями:
type - Тип вейвлет-декомпозиции (банка фильтров)'dwt' | 'ddt' | 'realdt' | 'cplxdt' | 'realdddt' | 'cplxdddt'Тип вейвлет-декомпозиции, использованный при анализе, возвращенный как один из 'dwt', 'ddt', 'realdt', 'cplxdt', 'realdddt', или 'cplxdddt'. 'dwt' является критически отобранным DWT. 'ddt' создает вейвлет-преобразование с двойной плотностью с одним масштабированием и двумя вейвлет-фильтрами для фильтрации строк и столбцов. 'realdt' и 'cplxdt' получение ориентированных двухдеревых вейвлет-преобразований, состоящих из 2 и 4 разделяемых вейвлет-преобразований. 'realdddt' и 'cplxdddt' получить двойные древовидные вейвлет-преобразования двойной плотности, состоящие из двух и четырех разделяемых вейвлет-преобразований.
level - Уровень вейвлет-разложенияУровень вейвлет-разложения, возвращаемый как положительное целое число.
filters - Фильтры разложения (анализа) и реконструкции (синтеза)Фильтры разложения (анализа) и реконструкции (синтеза), возвращаемые как структура с этими полями:
Fdf - Фильтры анализа первого этапаФильтры анализа первого этапа, возвращаемые в виде матрицы N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или матрицы ячеек 1 на 2 из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры анализа первого этапа для соответствующего дерева.
Df - Фильтры анализа для уровней > 1Анализ фильтрует уровни > 1, возвращаемые как матрица N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массив ячеек 1 на 2 из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры анализа для соответствующего дерева.
Frf - Фильтры реконструкции первого уровняФильтры реконструкции первого уровня, возвращаемые в виде матрицы N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массива ячеек 1 на 2 из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры синтеза первой ступени для соответствующего дерева.
Rf - Восстановительные фильтры для уровней > 1Фильтры реконструкции для уровней > 1, возвращаемые как матрица N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массив ячеек 1 на 2 из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры анализа первого этапа для соответствующего дерева.
cfs - Коэффициенты вейвлет-преобразованияКоэффициенты вейвлет-преобразования, заданные как 1-by- (level+ 1) массив ячеек матриц. Размер и структура матричных элементов массива ячеек зависят от типа вейвлет-преобразования ,typetree следующим образом:
'dwt' — cfs{j}(:,:,d)
j = 1,2,... level - уровень.
d = 1,2,3 - ориентация.
cfs{level+1}(:,:) являются коэффициентами нижних частот или масштабированием.
'ddt' — cfs{j}(:,:,d)
j = 1,2,... level - уровень.
d = 1,2,3,4,5,6,7,8 - ориентация.
cfs{level+1}(:,:) являются коэффициентами нижних частот или масштабированием.
'realdt' — cfs{j}(:,:,d,k)
j = 1,2,... level - уровень.
d = 1,2,3 - ориентация.
k = 1,2 - дерево вейвлет-преобразования.
cfs{level+1}(:,:,k) являются коэффициентами нижних частот или масштабированием.
'cplxdt' — cfs{j}(:,:,d,k,m)
j = 1,2,... level - уровень.
d = 1,2,3 - ориентация.
k = 1,2 - дерево вейвлет-преобразования.
m = 1,2 - действительная и мнимая части.
cfs{level+1}(:,:,k,m) являются коэффициентами нижних частот или масштабированием.
'realdddt' — cfs{j}(:,:,d,k)
j = 1,2,... level - уровень.
d = 1,2,3,4,5,6,7,8 - ориентация.
k = 1,2 - дерево вейвлет-преобразования.
cfs{level+1}(:,:,k) являются коэффициентами нижних частот или масштабированием.
'cplxdddt' — cfs{j}(:,:,d,k,m)
j = 1,2,... level - уровень.
d = 1,2,3,4,5,6,7,8 - ориентация.
k = 1,2 - дерево вейвлет-преобразования.
m = 1,2 - действительная и мнимая части.
cfs{level+1}(:,:,k,m) являются коэффициентами нижних частот или масштабированием.
Каждая ориентация соответствует конкретному поддиапазону. Преобразования двойной плотности 'ddt', 'realddt', и 'cplxdddt' формируют вейвлет-коэффициенты восьми ориентаций. Другие преобразования, 'dwt', 'realdt', и 'cplxdt' формируют вейвлет-коэффициенты трех ориентаций. Соответствие поддиапазонам выглядит следующим образом.
typetree | Ориентации |
|---|---|
'dwt', 'realdt', 'cplxdt' |
|
'ddt', 'realdddt', 'cplxdddt' |
|
sizes - Размеры компонентовРазмеры компонентов в cfs, возвращается в виде N-by-2 целочисленной матрицы. Значение N зависит от уровня вейвлет-разложения и типа вейвлет-разложения: N = 2 + level × (число ориентаций).
cfs(1,:) = размеры входного изображения.
cfs(2+level,:) = размеры коэффициентов масштабирования.
cfs(1+no×(i–1)+(1:no),:) = размеры уровня i коэффициенты детализации, где no - количество ориентаций.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.