cwtft2

2-D непрерывное вейвлет

Описание

пример

cwtstruct = cwtft2(x) возвращает 2-D непрерывное вейвлет (CWT) матрицы 2-D, x. cwtft2 использует алгоритм, основанный на преобразовании Фурье, в котором 2-D преобразования Фурье входных данных и анализирующего вейвлета умножаются вместе и инвертируются.

пример

cwtstruct = cwtft2(x,'plot') строит графики данных и 2-D CWT.

пример

cwtstruct = cwtft2(x,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами в виде пар Имя, Значение.

Примеры

свернуть все

Показывает, как изотропный вейвлет не различает ориентацию функций, в то время как анизотропный вейвлет. В примере используются мексиканский шляпный изотропный вейвлет и направленный (анизотропный) вейвлет Коши.

Загрузите и просмотрите шестигранное изображение.

Im = imread('hexagon.jpg');
imagesc(Im); colormap(jet);

Получите шкалу -one 2-D CWT как с мексиканской шляпой, так и с вейвлетами Коши. Задайте вектор углов, идущих от 0 до 15 ?/8 в ?/8 шагах.

cwtcauchy = cwtft2(Im,'wavelet','cauchy','scales',1,...
    'angles',0:pi/8:2*pi-pi/8);
cwtmexh = cwtft2(Im,'wavelet','mexh','scales',1,...
    'angles',0:pi/8:2*pi-pi/8);

Визуализируйте шкалу -one 2-D амплитуды коэффициентов CWT при каждом угле.

angz = {'0', 'pi/8', 'pi/4', '3pi/8', 'pi/2', '5pi/8', '3pi/4', ...
    '7pi/8','pi', '9pi/8', '5pi/4', '11pi/8', '3pi/2', ...
    '13pi/8' '7pi/4', '15pi/8'};
for angn = 1:length(angz)
    subplot(211)
    imagesc(abs(cwtmexh.cfs(:,:,1,1,angn)));
    title(['Mexican hat at ' angz(angn) 'radians']);
    subplot(212)
    imagesc(abs(cwtcauchy.cfs(:,:,1,1,angn)));
    title(['Cauchy wavelet at ' angz(angn) 'radians']);
    pause(1);
end

Загрузите изображение женщины, получите 2-D CWT с помощью вейвлета Морле и постройте график коэффициентов CWT.

load woman;
cwtmorl = cwtft2(X,'scales',1:4,'angles',0:pi/2:3*pi/2,'plot');

Figure Continuous Wavelet Transform 2-D - Wavelet: MORL contains 5 axes and other objects of type uicontrol. Axes 1 with title Original Data contains an object of type image. Axes 2 contains an object of type image. Axes 3 contains an object of type image. Axes 4 contains an object of type image. Axes 5 contains an object of type image.

Получите 2-D CWT изображения звезды, используя вейвлет Морле по умолчанию, масштабирует 2^(0:5), и угол 0.

Im = imread('star.jpg');
cwtout = cwtft2(Im);

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

свернуть все

Входные данные, заданные как матрица 2-D или трехмерный массив. Если входные данные являются трехмерным массивом, вход матрица является изображением truecolor.

Пример: X = imread('stars.jpg');

Типы данных: double | uint8

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'wavelet','paul','scales',2^(0:5) задает использование вейвлета Пола и вектора шкал.

Углы в радианах, заданные как разделенная разделенными запятой парами, состоящая из 'angles' и либо скаляром, либо вектором.

Пример: 'angles',[0 pi/2 pi]

Нормализация, используемая в 2-D CWT, задается как разделенная разделенными запятой парами, состоящая из 'norm' и один из следующих векторов символов:

  • 'L2' - преобразование Фурье анализирующего вейвлета в заданной шкале умножается на соответствующую шкалу. 'L2' - нормализация по умолчанию.

  • 'L1' - преобразование Фурье анализирующего вейвлета умножается на 1 во всех шкалах.

  • 'L0' - преобразование Фурье анализирующего вейвлета в заданной шкале умножается на квадрат соответствующей шкалы.

Пример: 'norm','L1'

Шкалы, заданные как разделенная разделенными запятой парами, состоящая из 'scales' и либо положительный действительный скаляр, либо вектор положительных вещественных чисел.

Пример: 'scales',2^(1:6)

Анализ вейвлета, заданный как разделенная запятыми пара, состоящая из 'wavelet' и вектор символов, строковый скаляр, структура или массив ячеек. cwtftinfo2 предоставляет полный список поддерживаемые вейвлеты и связанных параметров.

Если вы задаете 'wavelet' как структура, структура должна содержать два поля:

  • name - вектор символов или строковый скаляр, соответствующий поддерживаемому вейвлет.

  • param - массив ячеек с параметрами вейвлета.

Если вы задаете 'wavelet' как массив ячеек, wavмассив ячеек должен содержать два элемента:

  • wav{1} - вектор символов или строковый скаляр, соответствующий поддерживаемому вейвлет.

  • wav{2} - массив ячеек с параметрами вейвлета.

Пример: 'wavelet',{'morl',{6,1,1}}

Пример: 'wavelet',struct('name','paul','param',{'p',2})

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

свернуть все

CWT 2-D, возвращенный как структура со следующими полями:

Анализ вейвлета и параметров, возвращаемый как структура со следующими полями:

  • wname Имя

  • param - параметры

Константы нормализации, возвращенные как M -by - N матрица, где M - количество шкал, а N - количество углов.

Коэффициенты CWT, возвращенные как N-D массив. Размерности строка и столбец массива равны размерностям строка и столбец входных данных. Третья страница массива равна 1 или 3 в зависимости от того, являются ли входные данные черно-белого или цветного изображения. Четвертая страница массива равна количеству шкал, а пятая страница массива равна количеству углов.

Шкалы для 2-D CWT, возвращенный как вектор-строка.

Углы для 2-D CWT, возвращенные как вектор-строка.

Среднее значение входных данных, возвращаемое как скаляр

Введенный в R2013b