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

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

Создайте 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}])

Figure contains an axes object. The axes object 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

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

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

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

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

свернуть все

Система 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