LABORATORIO 3

Transcript

LABORATORIO 3
Corso di Elaborazione Numerica Delle Immagini (P. Zanuttigh) Homework 3 (Consegna 18/12) LABORATORIO 3 Panoramiche cilindriche Le immagini panoramiche sono delle foto che a partire da un punto di vista fisso permettono di guardare in ogni direzione (“a 360°”). Per costruirle è necessario proiettare le immagini acquisite su un solido opportuno. Tipicamente si usano sfere, cubi o cilindri. In particolare nella proiezione cilindrica si riproiettano le immagini acquisite su di un cilindro con l’asse passante per il punto di vista, si veda il file ‘proiezione_clindrica.pdf’ per una descrizione più completa del problema. In laboratorio verrà acquisita una serie di foto dell’aula con la camera che ruota attorno ad un punto di vista fisso. Si richiede di sviluppare un software per fondere insieme le diverse immagini acquisite in un’unica panoramica cilindrica utilizzando i feature detector SIFT per allineare le varie immagini. Algoritmo da sviluppare: Si scriva un semplice programma Matlab (o Java) per costruire un’immagine panoramica a partire dalle foto acquisite in laboratorio (o da quelle nelle cartelle ‘Soggiorno’ o ‘Cucina’). 1) Si riproiettino le diverse foto su una superficie cilindrica. Il file ‘proiezione_clindrica.pdf’ contiene la teoria della proiezione cilindrica e le equazioni da utilizzare per la conversione dalle coordinate planari a quelle cilindriche. Il field of view orizzontale della Nikon D70 con la focale a 18mm è circa 66,7° (l’angolo nella teoria è metà del FOV). 2) Si trovino i punti corrispondenti tra le 2 immagini utilizzando il codice per il calcolo delle SIFT contenuto nella cartella ‘siftDemoV4’ (è necessario modificare il file match.m per esportare le corrispondenze trovate , loc1 e loc2 contengono i punti e match indica quali sono i punti corrispondenti). 3) Nella proiezione cilindrica le varie foto sono legate da una semplice traslazione. Si stimi la traslazione tra le coppie di immagini adiacenti a partire dalle corrispondenze trovate usando un algoritmo di stima robusto rispetto alla presenza di corrispondenze sbagliate (ad esempio RANSAC o sue varianti semplificate). 4) Si fondano insieme le diverse immagini utilizzando le informazioni trovate al punto 3 (semplicemente accostandole o, facoltativo: si esegua un blending con una media pesata nelle regioni vicino al passaggio tra un’immagine e l’altra) 5) Si ritagli l’immagine cercando di far combaciare le 2 estremità e si provi a visualizzarla col visualizzatore nella cartella viewer.