Oppgave 1 - Komme i gang med pikselmanipulasjon i Matlab
im = imread('mona.png');
[N M] = size(im);
out = zeros(N,M);
c = 2.5;
for i=2:N
for j=1:M
out(i,j) = c * ( im(i,j)-im(i-1,j) );
end
end
bias = 128;
colormap(gray(256));
imagesc(out + bias, [0 255]);
Oppgave 2 - Oppløsning og samplingsteoremet
- Rayleigh-kriteriet: sin(t) = 1.22*lambda/D gir ca. 6.1*E-5. Siden sin(t) = tan(t) = t for små t, så er y = s*tan(t) = 0.305 mm.
- Fra notat: y' = y*f/(s-f) = 3.08E-06 m, altså ca 3.1mikrometer.
- T_0 = y' = ca 3.1 mikrometer. f_0 = 1/T_0 = ca 1/3.1 mikrometer^{-1} (altså ca 1/3.1 per mikrometer).
- Samplingsteoremet sier at man må ha mer enn 2 sampler per periode. Altså må vi ha mer enn 2 sampler per 3.1mikrometer. => Ts < 1.54 mikrometer.
- 16 mm / 1.54 mikrometer er ca. 10400, og 24 mm / 1.54 mikrometer er ca. 15600, så vi må ha 10400x15600 sampler (ca. 162 megasampler).
- Vi ville ha halve oppløsningen, altså 3.1 x 2 = 6.2 mikrometer mellom hvert punkt, mindre enn 3.1mikrometer mellom samplene, og 1/4 av alle samplene i oppgave e.
- Fra Rayleigh-kriteriet ser vi at en økning av D vil gi mindre minste avstand mellom punktspredere som kan skilles. Altså bedre oppløsning.
Oppgave 3 - Pikselstørrelse og anti-aliasing
Hver piksel ville bestått av middelverdien til 5x5 = 25 punkter, så resultatbildet ville blitt flatt (grått). Om samplene var kun 1x1 mikrometer ville bildet fortsatt vært flatt, men intensiteten ville vært avhengig av hvor på bildeflaten pikslene starter.
Oppgave 5 - Lagringsbehov
Vi multipliserer og får
linjer x sampler per linje x bytes per pixel x bilder per sek x antall sekunder i 2 timer
altså
1080 x 1920 x 3 x 50 x 60x60x2 = 2.239.488.000.000
Dette er rundt 2086 gigabytes, eller rundt 2 terabytes. Kompresjon vil være av vesentlig betydning.
Oppgave 6 - Rekvantisering
Siden like mange forgrunns- som bakgrunnspiksler, ville kvantiseringsterskelen bli lagt midt mellom 50 og 200, (50+200)/2 = 125. Rekonstruksjon hvor 0 ble gjort om til 50 og 1 til 200.