scatteringTransform

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

Описание

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

пример

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

Примеры

свернуть все

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

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

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

   256   256     3

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

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

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

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

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

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

[~,~,~,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

Figure contains 2 axes. Axes 1 with title $$\Theta = $$2.7489 contains an object of type image. Axes 2 contains an object of type image.

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

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

свернуть все

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

Входное изображение, заданное как вещественная 2-D матрица или 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-м столбце обозначают соответствующий вейвлет-фильтр в (L − 1) -й группе фильтров. Вейвлет фильтры упорядочены путем уменьшения центральной частоты.

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

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

Base-2 логарифмическое разрешение коэффициентов рассеяния, возвращаемое в виде скаляра.

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

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

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

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

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

Base-2 логарифмическое разрешение коэффициентов рассеяния, возвращаемое в виде скаляра.

См. также

Введенный в R2019a