echo on
% == Transformaties van grijswaardebeelden in Matlab ==

% Pre)
A = imread('meisje.jpg','jpg');
image(A);
title('Opdracht 3, Pre');
colormap(gray(256));
%Resultaat plaatje, de hoogte en breedte zijn wel verloren gegaan
pause;

%1)
Pos = double(A);
Neg(:,:) = 255 - Pos(:,:);
Nega = uint8(Neg);
image(Nega);
title('Opdracht 3, 1)');
colormap(gray(256));
% Resultaat plaatje dat negatief is aan het orgineel
pause;

%2)
spie = A';
image(spie);
title('Opdracht 3, 2.1)');
colormap(gray(256));
% Resultaat plaatje dat over de diagonaal gespiegeld is.
pause;

orig = spie';
image(orig);
title('Opdracht 3, 2.2)');
colormap(gray(256));
% Resultaat het orginele plaatje weer.
pause;

% 3)
% Om het beeld rond de verticaal te spiegelen moeten we gebruiken de code
% zie code vmirror.m of gebruik flipud(A)
image(vmirror(A));
title('Opdracht 3, 3.1)');
colormap(gray(256));
pause;


% 180 graden te draaien
% zie code rotate180.m
% of gebruik fliplr(flipud(A))
image(rotate180(A));
title('Opdracht 3, 3.2)');
colormap(gray(256));
pause;

% 4) Grijswaarde beeld afbeelden als berglandschap
hoog = double(A);
mesh(hoog)
title('Opdracht 3, 4.1)');
colormap(gray(256));
pause;

% Inverse
mesh(255 * hoog)
title('Opdracht 3, 4.2)');
colormap(gray(256));
%Met roteren in het plaatje kan je mooi de structuur weergeven
pause;


% 5) Rotatie over een willekeurige hoek
% Ik maak gebruik van een iets andere functie vullijst voornamelijk om
% duidelijker te kunnen documenteren
% zie rotate.m maak gebruik van voorwaardse rotatie
image(rotate(A,45));
title('Opdracht 3, 5.1)');
colormap(gray(256));
pause;

% zie rotateB.m maakt gebruik van achterwaarde rotatie
image(rotateB(A,45));
title('Opdracht 3, 5.2)');
colormap(gray(256));
pause;


