IN3370 h?st 2024 - UKEOPPGAVER 2

Disse oppgavene omhandler geometriske transformer og operasjoner.

Oppgave 1 - Rotasjon og translasjon som én operasjon

De affine transformene kan kombineres ved ? kombinere transformmatriser. Hvordan kan vi rotere om et bestemt punkt (x,y) i bildet? Hvis vi skal rotere et bilde 33 grader mot klokka rundt punktet (x,y)=(207,421), hva blir transformkoeffisientene?

Tilleggssp?rsm?l: Kan man likes?godt gj?re transformene (translasjoner og rotasjoner) i motsatt rekkef?lge?

Oppgave 2 - Interpolasjon

Anta disse pikselverdiene:

f(221,396) = 18, f(221,397) = 45,
f(222,396) = 52, f(222,397) = 36.

Hva blir f(221.3,396.7) interpolert med henholdsvis n?rmeste nabo-interpolasjon og biline?r-interpolasjon?  Lag illustrasjon av hvor punktet ligger i forhold til de fire kjente.

Oppgave 3 - Programmering av affin transform

Programmer transformen fra oppgave 1 uten bruk av ferdige transform-funksjoner eller -pakker i Python. Pr?v f?rst ? benytte den naive forlengstransformasjonen med pikselavrunding. Deretter kan dere bestemme den baklengse transformen, og lage en implementasjon av den, gjerne med biline?r interpolasjon.

Oppgave 4 - (Vurder ? ta sist) Egenskaper ved affine transformer

En av egenskapene til affine transformer er at rette linjer forblir rette linjer -- vis dette.

Hint: Pr?v ? parametrisere en linje i billedplanet med
x = c0t + d0
y = c1t + d1
der c0,c1,d0,d1 er konstanter og t er med i de reelle tallene. Send s? x og y igjennom transformen og se om man igjen parametriserer en linje.

Oppgave 5 - Affin transform fra tre punktpar

Anta at man har bestemt tre punkter i innbildet, (xi, yi), og tre punkter i ut-bildet, (xi',yi'), for i=1,2,3. Sett opp de seks ligningene med de seks ukjente som m? l?ses for ? finne den affine transformen som sender de tre punktene i innbildet til de nye punktene i ut-bildet.

Pr?v et sett med konkrete punktpar, og l?s ligningsettene, gjerne ved bruk av Python-kommandoen np.linalg.solve(..), eller noe basert p? forelesningsnotatet (Samregistrering IV). Benytt koeffisientene i programmet du lagde i oppgave 3.

Tilleggsp?rsm?l: Hva kan vi gj?re om vi har flere enn tre punktpar?

Oppgave 6 - Samplingsrate ved resampling

La oss anta f?lgende transformasjon:

x' = 0.5x
y' = 0.5y,

der x og y er "input"-koordinatene og x' og y' er koordinatene etter transformen.

Forklar med ord hva transformen gj?r. Anta en "vanlig" resampling ved baklengs transform. Hva er forholdet mellom samplingsratene f?r og etter en slik transform? Lag gjerne en illustrasjon av samplingsm?nsteret (hvor samplene plukkes) i bildeplanet f?r og etter transformen. Hvilke (u?nskede) effekter vil dette kunne gi opphav til? (Hint: Samplingsteoremet.)

Oppgave 7 (St?tteoppgave) - Eksperimentering med affine transformer (**)

Benytt den interaktive geometriske transform-appleten under http://www.imageprocessingbasics.com/geometric-transforms/ til ? forsterke din (intuitive) forst?else av parametrene i den affine transformen, samt de visuelle effektene av biline?r kontra n?rmeste nabo-interpolasjon.

** Merk: Se Ukeoppgaver 1 ang. disse Java-appletene.

Publisert 24. aug. 2024 17:24 - Sist endret 24. aug. 2024 17:24