function bild(fname, k1, k2)

% Dieses Programm ist aufrufbar als 
% bild('name.jpg', k1, k2)

A = imread(fname);
figure(1); clf;
subplot(2,2,1);
image(A);
title('Originalbild')
[n, m, p] = size(A);

A = reshape(A, n, m*p);
A = single(A)/255;

k = min(n, m*p);
if nargin < 3, k2 = round(k/3); 
else if k2 > k, k2 = round(k/3); end
end
if nargin < 2, k1 = round(2*k/3); 
else if k1 > k, k1 = round(2*k/3); end
end

[sv, Ak1, Ak2] = svd_bild(A', k1, k2);
figure(1); hold on;
subplot(2,2,2);
semilogy(1:1:length(sv), sv(:), '*');
ylim([sv(length(sv)) sv(1)]);
title('Singulaerwerte')

Ak1 = reshape(Ak1', n, m, p);
Ak1(Ak1<0) = 0;
Ak1(Ak1>1) = 1;
figure(1); hold on;
subplot(2,2,3);
image(Ak1);
title(['Komprimiertes Bild, k=', int2str(k1)])
subplot(2,2,2); hold on; 
line([k1; k1], [sv(length(sv)); sv(1)], 'Color','r','LineWidth',2);

Ak2 = reshape(Ak2', n, m, p);
Ak2(Ak2<0) = 0;
Ak2(Ak2>1) = 1;
figure(1); hold on;
subplot(2,2,4);
image(Ak2);
title(['Komprimiertes Bild, k=', int2str(k2)])
subplot(2,2,2); hold on; 
line([k2; k2], [sv(length(sv)); sv(1)], 'Color','m','LineWidth',2);