scatteringTransform

Вейвлет 2D рассеивание преобразовывает

Синтаксис

s = scatteringTransform(sf,im)
[s,u] = scatteringTransform(sf,im)

Описание

s = scatteringTransform(sf,im) возвращает вейвлет 2D преобразование рассеивания im для sf, рассеивающейся среды разложения. im является 2D матричной или 3-D матрицей с действительным знаком. Если im 3-D, размер третьей размерности должен равняться 3. Размеры строки и столбца im должны совпадать со значением ImageSize sf. Вывод s является массивом ячеек с Nfb +1 элемент, где Nfb является количеством наборов фильтров в рассеивающейся среде разложения. Nfb равен числу элементов в свойстве QualityFactors sf. Эквивалентно, число элементов в s равно количеству порядков в рассеивающемся разложении. Каждый элемент s является таблицей MATLAB®.

пример

[s,u] = scatteringTransform(sf,im) также возвращает вейвлет scalogram коэффициенты для im. Вывод u является массивом ячеек с Nfb +1 элемент, где Nfb является количеством наборов фильтров в рассеивающейся среде разложения. Nfb равен числу элементов в свойстве QualityFactors sf. Эквивалентно, число элементов в u равно количеству порядков в рассеивающемся разложении. Каждый элемент u является таблицей MATLAB.

Примеры

свернуть все

Этот пример показывает, что рассеивающиеся коэффициенты являются lowpassed версиями scalogram коэффициентов.

Загрузите изображение RGB. Отобразите красный канал.

im = imread('circle.jpg');
size(im)
ans = 1×3

   256   256     3

figure
imagesc(im(:,:,1))
colormap gray;

Для изображений RGB размер третьей размерности должен быть 3. Только необходимо задать размеры строки и столбца изображения, когда вы создаете рассеивающуюся среду. Создайте рассеивающуюся среду, чтобы примениться к изображению и взять рассеивающееся преобразование.

sf = waveletScattering2('ImageSize',[256 256],'InvarianceScale',32,...
    'NumRotations',[8 8]);
[S,U] = scatteringTransform(sf,im);

Изображение и содействующие поля в S и U являются M N 3. Размерности M на n являются постоянными только в рассеивающихся изображениях, потому что масштабирующаяся функция зафиксировала пропускную способность, в то время как вейвлеты имеют различную пропускную способность.

Используйте цикл for и постройте красный канал для scalogram и рассеивающиеся коэффициенты для этих 8 углов поворота в рассеивающемся преобразовании. Отметьте, как рассеивающиеся коэффициенты являются lowpass версиями scalogram коэффициентов.

[~,~,~,filterparams] = sf.filterbank();
theta = filterparams{1}.rotations;
figure
for k = 1:numel(theta)
    subplot(2,1,1)
    imagesc(U{2}.coefficients{k}(:,:,1));
    axis xy
    title(['$$\Theta =  $$' num2str(theta(k))],'Interpreter','Latex');
    subplot(2,1,2)
    imagesc(S{2}.images{k}(:,:,1)); 
    axis xy
    pause(1)
end

Вышеупомянутый цикл for приводит к анимации, идентичной той ниже.

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

свернуть все

Рассеивание среды разложения, заданной как объект waveletScattering2.

Введите изображение, заданное как 2D матричная или 3-D матрица с действительным знаком. Если im 3-D, im принят, чтобы быть цветным изображением в цветовом пространстве RGB, и размер третьей размерности должен равняться 3. Размеры строки и столбца im должны совпадать со свойством ImageSize sf.

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

свернуть все

Рассеивание коэффициентов, возвращенных как массив ячеек. s является массивом ячеек с Nfb +1 элемент, где Nfb является количеством наборов фильтров в рассеивающейся среде разложения. Nfb равен числу элементов в свойстве QualityFactors sf. Эквивалентно, число элементов в s равно количеству порядков в рассеивающемся разложении. Каждый элемент s является таблицей MATLAB с этими переменными:

Рассеивание коэффициентов, возвращенных как массив ячеек. Каждым элементом images является M-by-N или M-by-N-by-3 матрица.

Рассеивание пути, используемого, чтобы получить рассеивающиеся коэффициенты, возвратилось как вектор - строка. Каждый столбец path соответствует одному элементу пути. Скаляр 0 обозначает оригинальное изображение. Положительные целые числа в L th столбец обозначают, что соответствующий вейвлет просачивается (L −1) th набор фильтров. Полосовые фильтры вейвлета упорядочены путем уменьшения центральной частоты.

Существуют вейвлеты NumRotations на центральную пару частоты.

Пропускная способность рассеивающихся коэффициентов, возвращенных как скаляр. Пропускная способность симметрична в направлениях y и x.

Основывайте 2 логарифмических разрешения рассеивающихся коэффициентов, возвращенных как скаляр.

Коэффициенты Scalogram, возвращенные как массив ячеек. u является массивом ячеек с Nfb +1 элемент, где Nfb является количеством наборов фильтров в рассеивающейся среде разложения. Nfb равен числу элементов в свойстве QualityFactors sf. Эквивалентно, число элементов в u равно количеству порядков в рассеивающемся разложении. Каждый элемент u является таблицей MATLAB с этими переменными:

Коэффициенты Scalogram, возвращенные как массив ячеек. Каждым элементом coefficients является M-by-N или M-by-N-by-3 матрица.

Рассеивание пути, используемого, чтобы получить scalogram коэффициенты, возвратилось как вектор - строка. Каждый столбец path соответствует одному элементу пути. Скаляр 0 обозначает оригинальное изображение. Положительные целые числа в L th столбец обозначают, что соответствующий вейвлет просачивается (L −1) th набор фильтров. Полосовые фильтры вейвлета упорядочены путем уменьшения центральной частоты.

Существуют вейвлеты NumRotations на центральную пару частоты.

Пропускная способность scalogram коэффициентов, возвращенных как скаляр.

Основывайте 2 логарифмических разрешения рассеивающихся коэффициентов, возвращенных как скаляр.

Смотрите также

Введенный в R2019a