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 det 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), f(round(396.7)) = f(221,397) = 45.
Bilineær interpolasjon: Fra lysark s. 20, 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.
import numpy as np x = np.array([10, 100, 200]) y = np.array([10, 100, 100]) xr = np.array([30, 120, 220]) yr = np.array([10, 100, 100]) # Ved bruk av no.linalg.solve-kommandoen: A = np.vstack([x, y, np.ones(3)]).T a = np.linalg.solve(A, xr) b = np.linalg.solve(A, yr) # Alternativ basert på forelesningsnotat: G = np.vstack([x, y, np.ones(3)]).T M = np.dot( np.linalg.inv( np.dot(G.T, G) ), G.T ) a_ = np.dot(M, xr) b_ = np.dot(M, yr)
Oppgave 6 - Samplingsrate ved resampling
Transformen gir en nedskalering av bildet. En resampling plukker i praksis halvparten av pikslene langs hver akse. Vi får en fordobling av 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.