Oppgave 1 - Rotasjon og translasjon som én operasjon
Hvis vi skal rotere rundt et bestemt punkt, (x,y), kan vi først forskyve (translatere) bildet slik at nye origo ligger i (x,y), rotere, for så å translatere tilbake. Som vi vet kan disse affine transformene trekkes sammen til én transform, så ved "enkel" matriseregning:
Oppgave 2 - Interpolasjon
Nærmeste nabo-interpolasjon: f(221.3,396.7) -> f(round(221.3), fround(396.7)) = f(221,397) = 45.
Bilineær interpolasjon: Fra lysark s 21, med dx=0.3 og dy=0.7, får vi 38.07. Under er en figur som viser hvordan flaten mellom de fire punktene blir ved bilineær interpolasjon.
Oppgave 5 - Affin transform fra tre punktpar
For x-koordinaten:
x1' = a0*x1 + a1*y1 + a2
x2' = a0*x2 + a1*y2 + a2
x3' = a0*x3 + a1*y3 + a2
Tilsvarende blir det for y-koordinaten. Vi kan altså løse (a0,a1,a2) og (b0,b1,b2) hver for seg.
x = [10 100 200]'; % x-koordinatene til "fra"-punktene
y = [10 100 100]'; % y-koordinatene til "fra"-punktene
xr = [30 120 220]'; % x-koordinatene til referansepunktene (her: x forskjøvet med 20 piksler)
yr = [10 100 100]'; % y-koordinatene til referansepunktene
% Ved bruk av rref-kommandoen:
X = rref( [x y ones(3,1) xr] );
a = X(:,end)
X = rref( [x y ones(3,1) yr] );
b = X(:,end)
% Alternativ basert på forelesningsnotat:
G = [x y ones(3,1)];
M = inv(G'*G)*G';
a = M*xr;
b = M*yr;
Oppgave 6 - Samplingsrate ved resampling
Transformen gir en nedskalering av bildet (plukker halvparten av pikslene langs hver akse). Vi får en fordobling i avstanden mellom hvert sample. Det vil si, den effektive samplingsperioden fordobles, altså at den effektive samplingsraten blir halvert. Vi vil kunne få aliasing-problemer om ikke den nye samplingsraten tilfredstiller kravet gitt i samplingsteoremet.