rendered paste bodyimage = imread('boot.tif');
% Gewichtsfkt. fuer REDUCE
B8 = 1/256 * [1 8 28 56 70 56 28 8 1];
w = B8' * B8;
% Initialisieren der Gauss-Pyramide
gauss = zeros(size(image,1), size(image,2),6);
gauss(:,:,1) = image;
% REDUCE
for k=2:6
height = size(image,1)/(2^(k-1));
width = size(image,2)/(2^(k-1));
for i=1:height
for j=1:width
for m=-4:4
for n=-4:4
if (2*i+m > 0 && 2*j+n > 0 && 2*i+m <= height*2 && 2*j+n <= width*2)
gauss(i,j,k) = gauss(i,j,k) + w(5+m,5+n) * gauss(2*i+m,2*j+n,k-1);
end
end
end
gauss(i,j,k) = floor(gauss(i,j,k));
end
end
end
% Konstruktion der Laplace-Pyramide
% Initialisieren der Laplace-Pyramide
laplace = zeros(size(image,1), size(image,2),6);
laplace(:,:,6) = gauss(:,:,6);
% EXPAND
for k=5:-1:1
height = size(image,1)/(2^(k-1));
width = size(image,2)/(2^(k-1));
gauss_ex = gaussExpand(gauss(1:uint8(height/2),1:uint8(width/2),k+1));
laplace(1:height,1:width,k) = gauss_ex - gauss(1:height,1:width,k);
end