1 | echo on
|
---|
2 | % == Transformaties van grijswaardebeelden in Matlab ==
|
---|
3 |
|
---|
4 | % Pre)
|
---|
5 | A = imread('meisje.jpg','jpg');
|
---|
6 | image(A);
|
---|
7 | title('Opdracht 3, Pre');
|
---|
8 | colormap(gray(256));
|
---|
9 | %Resultaat plaatje, de hoogte en breedte zijn wel verloren gegaan
|
---|
10 | pause;
|
---|
11 |
|
---|
12 | %1)
|
---|
13 | Pos = double(A);
|
---|
14 | Neg(:,:) = 255 - Pos(:,:);
|
---|
15 | Nega = uint8(Neg);
|
---|
16 | image(Nega);
|
---|
17 | title('Opdracht 3, 1)');
|
---|
18 | colormap(gray(256));
|
---|
19 | % Resultaat plaatje dat negatief is aan het orgineel
|
---|
20 | pause;
|
---|
21 |
|
---|
22 | %2)
|
---|
23 | spie = A';
|
---|
24 | image(spie);
|
---|
25 | title('Opdracht 3, 2.1)');
|
---|
26 | colormap(gray(256));
|
---|
27 | % Resultaat plaatje dat over de diagonaal gespiegeld is.
|
---|
28 | pause;
|
---|
29 |
|
---|
30 | orig = spie';
|
---|
31 | image(orig);
|
---|
32 | title('Opdracht 3, 2.2)');
|
---|
33 | colormap(gray(256));
|
---|
34 | % Resultaat het orginele plaatje weer.
|
---|
35 | pause;
|
---|
36 |
|
---|
37 | % 3)
|
---|
38 | % Om het beeld rond de verticaal te spiegelen moeten we gebruiken de code
|
---|
39 | % zie code vmirror.m of gebruik flipud(A)
|
---|
40 | image(vmirror(A));
|
---|
41 | title('Opdracht 3, 3.1)');
|
---|
42 | colormap(gray(256));
|
---|
43 | pause;
|
---|
44 |
|
---|
45 |
|
---|
46 | % 180 graden te draaien
|
---|
47 | % zie code rotate180.m
|
---|
48 | % of gebruik fliplr(flipud(A))
|
---|
49 | image(rotate180(A));
|
---|
50 | title('Opdracht 3, 3.2)');
|
---|
51 | colormap(gray(256));
|
---|
52 | pause;
|
---|
53 |
|
---|
54 | % 4) Grijswaarde beeld afbeelden als berglandschap
|
---|
55 | hoog = double(A);
|
---|
56 | mesh(hoog)
|
---|
57 | title('Opdracht 3, 4.1)');
|
---|
58 | colormap(gray(256));
|
---|
59 | pause;
|
---|
60 |
|
---|
61 | % Inverse
|
---|
62 | mesh(255 * hoog)
|
---|
63 | title('Opdracht 3, 4.2)');
|
---|
64 | colormap(gray(256));
|
---|
65 | %Met roteren in het plaatje kan je mooi de structuur weergeven
|
---|
66 | pause;
|
---|
67 |
|
---|
68 |
|
---|
69 | % 5) Rotatie over een willekeurige hoek
|
---|
70 | % Ik maak gebruik van een iets andere functie vullijst voornamelijk om
|
---|
71 | % duidelijker te kunnen documenteren
|
---|
72 | % zie rotate.m maak gebruik van voorwaardse rotatie
|
---|
73 | image(rotate(A,45));
|
---|
74 | title('Opdracht 3, 5.1)');
|
---|
75 | colormap(gray(256));
|
---|
76 | pause;
|
---|
77 |
|
---|
78 | % zie rotateB.m maakt gebruik van achterwaarde rotatie
|
---|
79 | image(rotateB(A,45));
|
---|
80 | title('Opdracht 3, 5.2)');
|
---|
81 | colormap(gray(256));
|
---|
82 | pause;
|
---|
83 |
|
---|
84 |
|
---|