exponenta event banner

sheart2

Шеарлетное преобразование

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

cfs = sheart2(sls,circleGS);

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

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.

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

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.

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

свернуть все

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

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

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

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

свернуть все

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

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

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b