sheart2

Shearlet преобразовывают

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

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

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

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

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

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

cfs = sheart2(sls,circleGS);

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

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

     3     6    10    15    20    25    31    38    46    55

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

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}])

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

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

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

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

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

свернуть все

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

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

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

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

свернуть все

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

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

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

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

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

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

|

Введенный в R2019b