2010-11-18 8 views
5

Il problema che stiamo cercando di risolvere il problema di localizzare un punto in due diverse rappresentazioni di un piano. Il primo piano che abbiamo è ruotato per creare una prospettiva; il secondo è una vista 2D dello stesso piano. Abbiamo 4 punti su ciascuno dei piani che sappiamo essere equivalenti. La domanda è se abbiamo un punto arbitrario nel piano 1, come troviamo il punto corrispondente nel piano 2?Come posso proiettare un piano arbitrario identificato da 4 punti su un piano 2D?

Probabilmente è meglio illustrare il caso d'uso per chiarire al meglio la domanda. Abbiamo un'immagine illustrata a sinistra.

Projective plane

alt text

2D schema di layout di spazio

alt text

Così i dati di fatto che abbiamo sono i quadrati rossi di entrambe le immagini. Nota che, se possibile, mi piacerebbe che lo spazio 2D non sia necessariamente un quadrato. Questi sono disponibili per noi in anticipo e conosciuti. Ho anche dei punti verdi disposti sull'aereo nella prima immagine. Mi piacerebbe essere in grado di fare una proiezione del punto nell'immagine 1 nello spazio nell'immagine 2.

Nota anche per l'immagine 1 Non ho una finestra definita o una posizione per gli occhi. So solo che il quadrato rosso dell'immagine 1 è una trasformazione dell'immagine in forma quadrata rossa 2 e che l'immagine 2 è nello spazio 2D.

+0

Può essere possibile se si dispone di (x, y, z) per i punti della foto ... o se si assuma qualche z ... –

+2

Se ti piace OpenCV, questo problema è noto come trovare l'omografia ('cv :: findhomography'). Al termine, qualsiasi punto della prima immagine viene mappato nella seconda vista applicando 'x '= Hx' in coordinate omogenee. –

risposta

6

Questo è un caso speciale di ricerca di mappature tra i quadrilateri che conservano le linee rette. Queste sono generalmente chiamate trasformazioni omografiche. Qui, uno dei quad è un quadrato, quindi questo è un caso speciale popolare. Puoi google questi termini ("quad to quad", ecc.) Per trovare spiegazioni e codice, ma eccone alcuni per te.

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

ProjectiveMappings for ImageWarping da Paul Heckbert.

La matematica non è particolarmente piacevole, ma non è nemmeno così difficile. Puoi anche trovare del codice da uno dei link sopra.

+0

Il primo collegamento è stato molto utile, grazie. – Scott