Двойное дерево и 2D вейвлет с удвоенной плотностью преобразовывают
возвращает wt
= dddtree2(typetree
,x
,level
,fdf
,df
)typetree
дискретное преобразование вейвлета 2D входного изображения, x
, вниз выравниваться, level
. Вейвлет преобразовывает, использует разложение (анализ) фильтры, fdf
, для первого уровня и аналитических фильтров, df
, для последующих уровней. Поддерживаемый вейвлет преобразовывает, критически произведенный DWT, действительное ориентированное двойное дерево с удвоенной плотностью, объединяют ориентированное двойное дерево, действительное ориентированное двойное дерево, с удвоенной плотностью, и объединяет ориентированный двойной древовидный вейвлет с удвоенной плотностью, преобразовывают. Критически произведенный DWT является разложением набора фильтров в ортогональном или биоортогональном (безызбыточном) основании. Другой вейвлет преобразовывает, сверхдискретизированные наборы фильтров с отличающимися степенями направленной селективности.
использует фильтры, заданные в wt
= dddtree2(typetree
,x
,level
,fname1
,fname2
)fname1
поскольку первая стадия двойного древовидного вейвлета преобразовывает и фильтры, заданные в fname2
поскольку последующие этапы двойного древовидного вейвлета преобразовывают. Определение различных фильтров для этапа 1 допустимо и необходимо только когда typetree
'realdt'
, 'cplxdt'
, 'realdddt'
, или 'cplxdddt'
.
Визуализируйте шесть направленных вейвлетов действительного ориентированного двойного древовидного вейвлета, преобразовывают.
Создайте первую стадию аналитические фильтры Farras для этих двух деревьев.
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];
Создайте аналитические фильтры Q-сдвига Кингсбери с 6 касаниями для последующих этапов анализа мультиразрешения.
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]
В критически произведенном 2D дискретном вейвлете преобразовывают, существует один фильтр highpass. Фильтрация строк и столбцов изображения с фильтром highpass соответствует извлечению деталей в диагональной ориентации. В вейвлете с удвоенной плотностью преобразовывают, существует два фильтра highpass, H1 и H2. По диагонали ориентированные детали извлечены путем фильтрации строк и столбцов изображений с четырьмя комбинациями фильтров highpass. Визуализируйте диагональные детали в четырех вейвлетах highpass-highpass поддиапазоны.
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
матрица 2D столбца с lowpass (масштабирование), просачиваются, первый столбец и highpass (вейвлет) просачиваются второй столбец.
'ddt'
— Это - вейвлет с удвоенной плотностью, преобразовывают. DWT с удвоенной плотностью является совершенным набором фильтров реконструкции с тремя каналами. fdf
матрица с тремя столбцами с lowpass (масштабирование), просачиваются, первый столбец и два highpass (вейвлет) просачиваются вторые и третьи столбцы. В вейвлете с удвоенной плотностью преобразовывают, один lowpass и два фильтра highpass составляют совершенный набор фильтров реконструкции с тремя каналами. Это эквивалентно трем фильтрам, формирующим трудную систему координат. Вы не можете произвольно выбрать, два вейвлета просачиваются DWT с удвоенной плотностью. Три фильтра вместе должны сформировать трудную систему координат.
Задайте fdf
как 1 2 массив ячеек матриц, когда typetree
двойное древовидное преобразование, 'realdt'
, 'cplxdt'
, 'realdddt'
, или 'cplxdddt'
. Размер и структура элементов матрицы в массиве ячеек зависят от typetree
вход можно следующим образом:
Поскольку двойной древовидный комплексный вейвлет преобразовывает, 'realdt'
и 'cplxdt'
, fdf{1}
N-by-2 матрица, содержащая lowpass (масштабирование) и highpass (вейвлет) фильтры для первого дерева и fdf{2}
N-by-2 матрица, содержащая lowpass (масштабирование) и highpass (вейвлет) фильтры для второго дерева.
Поскольку двойной древовидный комплексный вейвлет с удвоенной плотностью преобразовывает, 'realdddt'
и 'cplxdddt'
, fdf{1}
N-by-3 матрица, содержащая lowpass (масштабирование) и два highpass (вейвлет) фильтры для первого дерева и fdf{2}
N-by-3 матрица, содержащая lowpass (масштабирование) и два highpass (вейвлет) фильтры для второго дерева.
df
— Анализ фильтрует для уровней> 1Анализ фильтрует для уровней> 1, заданный как матричный или массив ячеек матриц. Задайте df
как матрица, когда typetree
'dwt'
или 'ddt'
. Размер и структура матрицы зависят от typetree
вход можно следующим образом:
'dwt'
— Это - критически произведенный дискретный вейвлет, преобразовывают. В этом случае, df
матрица 2D столбца с lowpass (масштабирование), просачиваются, первый столбец и highpass (вейвлет) просачиваются второй столбец. Для критически произведенного ортогонального или биоортогонального DWT, фильтров в df
и fdf
должно быть идентичным.
'ddt'
— Это - вейвлет с удвоенной плотностью, преобразовывают. DWT с удвоенной плотностью является совершенным набором фильтров реконструкции с тремя каналами. df
матрица с тремя столбцами с lowpass (масштабирование), просачиваются, первый столбец и два highpass (вейвлет) просачиваются вторые и третьи столбцы. В вейвлете с удвоенной плотностью преобразовывают, один lowpass и два фильтра highpass составляют совершенный набор фильтров реконструкции с тремя каналами. Это эквивалентно трем фильтрам, формирующим трудную систему координат. Для DWT с удвоенной плотностью, фильтров в df
и fdf
должно быть идентичным.
Задайте df
как 1 2 массив ячеек матриц, когда typetree
двойное древовидное преобразование, 'realdt'
, 'cplxdt'
, 'realdddt'
, или 'cplxdddt'
. Для двойных древовидных преобразований, фильтров в fdf
и df
должно отличаться. Размер и структура элементов матрицы в массиве ячеек зависят от typetree
вход можно следующим образом:
Поскольку двойной древовидный вейвлет преобразовывает, 'realdt'
и 'cplxdt'
, df{1}
N-by-2 матрица, содержащая lowpass (масштабирование) и highpass (вейвлет) фильтры для первого дерева и df{2}
N-by-2 матрица, содержащая lowpass (масштабирование) и highpass (вейвлет) фильтры для второго дерева.
Поскольку двойной древовидный комплексный вейвлет с удвоенной плотностью преобразовывает, 'realdddt'
и 'cplxdddt'
, df{1}
N-by-3 матрица, содержащая lowpass (масштабирование) и два highpass (вейвлет) фильтры для первого дерева и df{2}
N-by-3 матрица, содержащая lowpass (масштабирование) и два highpass (вейвлет) фильтры для второго дерева.
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 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и второй столбец являются вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры первой стадии для соответствующего дерева.
Df
— Анализ фильтрует для уровней> 1Аналитические фильтры для уровней> 1, возвращенный как N-by-2 или N-by-3 матрица для одно-древовидного вейвлета преобразовывают, или 1 2 массив ячеек двух N-by-2 или N-by-3 матрицы для двойного древовидного вейвлета преобразовывает. Матрицами является N-by-3 для вейвлета с удвоенной плотностью, преобразовывает. Для N-by-2 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и второй столбец являются вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры для соответствующего дерева.
Frf
— Фильтры реконструкции первого уровняФильтры реконструкции первого уровня, возвращенные как N-by-2 или N-by-3 матрица для одно-древовидного вейвлета, преобразовывают, или 1 2 массив ячеек двух N-by-2 или N-by-3 матрицы для двойного древовидного вейвлета преобразовывает. Матрицами является N-by-3 для вейвлета с удвоенной плотностью, преобразовывает. Для N-by-2 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и второй столбец являются вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит фильтры синтеза первой стадии для соответствующего дерева.
Rf
— Реконструкция фильтрует для уровней> 1Фильтры реконструкции для уровней> 1, возвращенный как N-2 или матрица N-3 для одно-древовидного вейвлета преобразовывают, или 1 2 массив ячеек двух N-2 или матриц N-3 для двойного древовидного вейвлета преобразовывает. Матрицы являются N-3 для вейвлета с удвоенной плотностью, преобразовывает. Для матрицы N-2 первый столбец матрицы является масштабирующимся (lowpass), фильтр и второй столбец являются вейвлетом (highpass) фильтр. Для матрицы N-3 первый столбец матрицы является масштабирующимся (lowpass), фильтр и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры первой стадии для соответствующего дерева.
cfs
— Вейвлет преобразовывает коэффициентыВейвлет преобразовывает коэффициенты, заданные как 1 на (level
+1) массив ячеек матриц. Размер и структура элементов матрицы массива ячеек зависят от типа вейвлета, преобразовывают, typetree
можно следующим образом:
'dwt'
— cfs{j}(:,:,d)
j = 1,2... level
уровень.
d = 1,2,3 ориентация.
cfs{level+1}(:,:)
lowpass, или масштабирование, коэффициенты.
'ddt'
— cfs{j}(:,:,d)
j = 1,2... level
уровень.
d = 1,2,3,4,5,6,7,8 ориентация.
cfs{level+1}(:,:)
lowpass, или масштабирование, коэффициенты.
'realdt'
— cfs{j}(:,:,d,k)
j = 1,2... level
уровень.
d = 1,2,3 ориентация.
k = 1,2 является вейвлетом, преобразовывают дерево.
cfs{level+1}(:,:,k)
lowpass, или масштабирование, коэффициенты.
'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)
lowpass, или масштабирование, коэффициенты.
'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)
lowpass, или масштабирование, коэффициенты.
'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)
lowpass, или масштабирование, коэффициенты.
Каждая ориентация соответствует конкретному поддиапазону. С удвоенной плотностью преобразовывает 'ddt'
, 'realddt'
, и 'cplxdddt'
сгенерируйте коэффициенты вейвлета восьми ориентаций. Другие преобразования, 'dwt'
, 'realdt'
, и 'cplxdt'
сгенерируйте коэффициенты вейвлета трех ориентаций. Соответствие к поддиапазонам следующие.
typetree | Ориентации |
---|---|
'dwt' , 'realdt' , 'cplxdt' |
|
'ddt' , 'realdddt' , 'cplxdddt' |
|
sizes
— Размеры компонентовРазмеры компонентов в cfs
, возвращенный как матрица с целочисленным знаком N-2. Значение N зависит на уровне разложения вейвлета и типе разложения вейвлета: N = 2 + level
× (количество ориентаций).
cfs(1,:)
= размерности входного изображения.
cfs(2+level,:)
= размерности масштабных коэффициентов.
cfs(1+no×(i–1)+(1:no),:)
= размерности уровня i
детализируйте коэффициенты, где no
количество ориентаций.
dddtree
| dddtreecfs
| dtfilters
| idddtree2
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.