sheart2

Преобразование Ширле

Синтаксис

Описание

пример

coefs = sheart2(sls,im) возвращает преобразование shearlet или анализ shearlet действительного 2-D изображения im для системы шестеренок sls. Если система шестеренок имеет реальное значение с периодическими граничными условиями, то coefs является реальным. В противном случае coefs является комплексным. Размер и класс (тип данных) im должны соответствовать значениям ImageSize и Precision, соответственно, sls.

Примеры

свернуть все

Этот пример показывает, как взять преобразование shearlet изображения и восстановить изображение используя только коэффициенты, соответствующие нулевому сдвигу.

Загрузка и отображение изображения круга.

load circleGS
imagesc(circleGS)
colormap gray
axis equal
axis tight

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

Создайте систему shearlet, которая может использоваться с изображением. Получите фильтры резьбы, заданные системой, а также их геометрические интерпретации.

[numRows,numCols] = size(circleGS);
sls = shearletSystem('ImageSize',[numRows numCols],'FilterBoundary','truncated');
[psi,scale,shear,cone] = filterbank(sls);

Получите преобразование shearlet изображения.

cfs = sheart2(sls,circleGS);

Найдите индексы резьбовых фильтров, которые соответствуют нулевому сдвигу. Следует иметь в виду, что фильтр lowpass также соответствует нулевому сдвигу.

ind = find((shear==0).*(scale~=-1))'
ind = 1×10

     3     6    10    15    20    25    31    38    46    55

Постройте график одной из шестеренок в частотной плоскости. Поскольку шестерня соответствует нулевому сдвигу, подтвердите, что частотная характеристика сконцентрирована вдоль горизонтальной или вертикальной оси.

sh = 31;
omegax = -1/2:1/numCols:1/2-1/numCols;
omegay = omegax;
figure
surf(omegax,flip(omegay),psi(:,:,sh),'EdgeColor','none')
view(0,90)
xlabel('\omega_x')
ylabel('\omega_y')
axis equal
axis tight
title(['Zero Shear Shearlet: Scale = ',num2str(scale(sh)),', Cone - ',cone{sh}])

Figure contains an axes. The axes with title Zero Shear Shearlet: Scale = 3, Cone - H contains an object of type surface.

Создайте массив, который содержит только коэффициенты shearlet, которые соответствуют нулям сдвига.

cfsx = zeros(size(cfs));
for k=1:length(ind)
    cfsx(:,:,ind(k)) = cfs(:,:,ind(k));
end

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

rec = isheart2(sls,cfsx);
imagesc(rec)
axis equal
axis tight
colormap gray
title('Reconstruction')

Figure contains an axes. The axes with title Reconstruction contains an object of type image.

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

свернуть все

Система резьбы, заданная как shearletSystem объект.

Входное изображение, заданное вещественную матрицу. Размер и тип данных im должны соответствовать значениям ImageSize и Precision, соответственно, sls.

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

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

свернуть все

Коэффициенты Ширле, возвращенные как трехмерный массив. Размер coefs is M -by- N -by- K, где M и N являются размерностями строки и столбца входного изображения, соответственно. Размер третьей размерности, K, равен количеству шестеренок в sls, включая lowpass, K = numshears(sls) + 1.

Для примера, если cfs = sheart2(sls,im) и psi = filterbank(sls), затем шестерня, соответствующая cfs(:,:,k) является psi(:,:,k). Тип данных coefs соответствует значению Precision системы shearlet.

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

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019b