Volendo generalizzare il concetto di camera pin-hole si possono introdurre piu classi di modelli camera. Ricordo che le camere reali non sono mai camere ideali che si adattano perfettamente ad un determinato modelli di ottica. Esistono pertanto vari modelli base che cercano più o meno di approssimare l'equazione della lente a cui sopra vanno comunque aggiunti vari termini distorsivi.
In particolare le ottiche fish-eye sono lenti dove la distorsione barilotto è dominante e questo permette di ottenere, a parità di lunghezza focale, angoli di vista molto elevati, fino a 180 gradi o superiori.
Sia pertanto l'angolo incidente del raggio ottico del punto camera
rispetto all'asse ottico
.
Questo angolo vale
che si ottiene da
| (8.73) |
| (8.74) |
L'idea è quella di considerare tutti i modelli camera come manipolazione dell'angolo incidente in un angolo
o spesso viene definita una trasformazione
che trasforma l'angolo del raggio incidente in un raggio in pixel.
Le varie lenti fish-eye seguono equazioni leggermente differenti tra loro, tra le quali è possibile segnalare tra i modelli ideali (pertanto senza distorsione)
Avendo assorbito in anche la focale (perciò è un raggio in pixel), le equazioni sopra permettono di trasformare l'angolo di luce incidente sull'ottica in un raggio proiettato sul sensore:
| (8.75) |
La classe di modelli ideali sopra non tiene conto di eventuali non linearità dell'ottica.
Il modello di Kannala-Brandt (KHB09) generalizza queste equazioni, parametrizzando una generica lente fish-eye nel termine usando la classica espansione in serie di Taylor che permette di inglobare sia i diversi modelli di lente presentati che eventuali distorsioni introdotte dell'ottica.
Ricordo che anche nelle camere fish-eye i raggi ottici passano tutti per lo stesso punto (pertanto i raggi passano tutti sempre per un pin-hole) ma tutte le equazioni che si possono scrivere (e se ne vedranno diverse nel prossimo capitolo) in forma lineare sfruttando le coordinate omogenee con un modello fish-eye di quelli qua elencati, non si possono più usare e bisogna passare ad equazioni non lineari anche in coordinate omogenee.
Paolo medici