Domanda

In MATLAB Ho calcolato il Fondamentale matrice (di due immagini) usando l'normalizzata punto otto algoritmo . Da che ho bisogno di triangulate corrispondenti punti immagine nello spazio 3D. Da quello che ho capito, per fare questo avrei bisogno la rotazione e traslazione delle telecamere dell'immagine. Il modo più semplice, naturalmente, sarebbe calibrare le telecamere prima poi prendere le immagini, ma questo è troppo costrittivo per la mia applicazione in quanto richiederebbe questo ulteriore passaggio.

In modo che mi lascia con auto calibrazione (auto) della fotocamera. Vedo menzione di fascio regolazione , tuttavia in Un invito al 3D Vision sembra che richiede una conversione iniziali e la rotazione, il che mi fa pensare che è necessaria una macchina fotografica calibrata o la mia comprensione è ancora lontana.

Quindi la mia domanda è come posso estrarre automaticamente la rotazione / traduzione in modo che posso riproiettata / triangolare i punti di immagine in uno spazio 3D. Qualsiasi codice MATLAB o pseudo sarebbe fantastico.

È stato utile?

Soluzione

È possibile utilizzare la matrice fondamentale per recuperare le matrici fotocamera e triangolare il 3D punti nelle immagini. Tuttavia, è necessario essere consapevoli del fatto che la ricostruzione si otterrà sarà una ricostruzione proiettiva e non un euclidea. Questo è utile se il tuo obiettivo è quello di misurare invarianti proiettivi nella scena originale, come il rapporto di croce, intersezioni delle linee, ecc, ma non sarà sufficiente per misurare gli angoli e distanze (si dovrà calibrare le telecamere per quello).

Se si ha accesso a Hartley e Zisserman del libro di testo , è possibile controllare la sezione 9.5.3, dove potrete trovare ciò che serve per passare dalla matrice fondamentale per un paio di matrici di telecamere che permetteranno di calcolare una ricostruzione proiettiva (credo che lo stesso contenuto viene visualizzato nella sezione 6.4 del libro di Yi Ma). Dal momento che il href="http://www.robots.ox.ac.uk/~vgg/hzbook/code" rel="noreferrer"> , si può consiglia di controllare le funzioni vgg_P_from_F, vgg_X_from_xP_lin e vgg_X_from_xP_nonlin.

Altri suggerimenti

codice MATLAB di Peter sarebbe molto utile a voi penso:

http://www.csse.uwa.edu.au/ ~ pk / ricerca / matlabfns /

Peter ha pubblicato una serie di soluzioni fondamentali della matrice. Gli algoritmi originali sono stati menzionati nel libro Zisserman

http://www.amazon.com/exec/obidos/tg/detail/-/0521540518/qid=1126195435/sr=8-1/ref=pd_bbs_1/ 103-8055115-0657421? v = sguardo & s = libri & n = 507.846

Inoltre, mentre si è in esso non dimenticate di vedere il brano fondamentale matrice:

http://danielwedge.com/fmatrix/

una composizione bene a mio parere onesto!

Se il 3D-spazio può essere scelto arbitrariamente si potrebbe impostare la prima matrice fotocamera come

P = [I | 0]

No traduzione, nessuna rotazione. Che lascerebbe con un sistema di coordinate definito dalla fotocamera 1. Quindi non dovrebbe essere troppo difficile da calibrare la seconda fotocamera.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top