Code covered by the BSD License  

Highlights from
Toolbox Wavelets

image thumbnail
from Toolbox Wavelets by Gabriel Peyre
Wavelet transform and coding functions, including other more exotic transforms (laplacian, steerable

test_steerable.m
% test for steerable transform

n = 512;
name = 'turbulence';
name = 'barb';
name = 'disk';
name = 'lena';
M = load_image(name,n);

k = 4;
options.nb_orientations = k;
J = 4;
Jmax = log2(n)-1;
Jmin = Jmax-J+1;
MW = perform_steerable_transform(M,Jmin,options);
M2 = perform_steerable_transform(MW,Jmin,options);

save_image = 1;
rep = ['results/steerable/'];

% reconstruction error
disp(['--> Reconstruction error: ' num2str(psnr(M,M2)) 'dB']);

if ~exist(rep)
    mkdir(rep);
end


% display and save the images
m = 0;
clf;
warning off;
for j=1:J
    for s=1:k
        m = m+1;
        A = MW{m+1};
        % A = rescale_wavelet_coefs(M,eta);
        str = ['j' num2str(j) '-s' num2str(s)];
        imageplot(A, str, k,J,m)
        if save_image
            imwrite(rescale(MW{m+1}), [rep name '-' str '.png'], 'png');        
%            imwrite(rescale(MW{m+1}), [rep name '-' str '.jpg'], 'jpg');   
        end
    end
end
colormap gray(256);


if save_image
    imwrite(rescale(M), [rep name '-original.png'], 'png');
    imwrite(rescale(MW{1}), [rep name '-high.png'], 'png');
    imwrite(rescale(MW{end}), [rep name '-low.png'], 'png');
end
warning on;

Contact us at files@mathworks.com