Sto sviluppando un SDK Augmented Reality su OpenCV. Ho avuto alcuni problemi a trovare tutorial sull’argomento, quali passi da seguire, possibili algoritmi, codifica rapida ed efficiente per prestazioni in tempo reale, ecc.
Finora ho raccolto le prossime informazioni e link utili.
Scarica l’ ultima versione .
Puoi trovare guide di installazione qui (piattaforms: linux, mac, windows, java, android, iOS).
Documentazione online
Per i principianti qui è un semplice codice di realtà aumentata in OpenCV. È un buon inizio
Per chiunque cerchi un SDK avanzato e ben progettato ho trovato alcuni passaggi generali che ogni realtà aumentata basata sul tracciamento dei marker dovrebbe avere, considerando le funzioni OpenCV.
Programma principale: crea tutte le classi, l’inizializzazione, cattura i fotogrammi dal video.
Classe AR_Engine: controlla le parti di un’applicazione di realtà aumentata. Ci dovrebbero essere 2 stati principali:
Inoltre ci dovrebbero essere alcuni algoritmi per trovare la posizione e l’orientamento della telecamera in ogni fotogramma. Ciò si ottiene rilevando la trasformazione dell’omografia tra il marker rilevato nella scena e un’immagine 2D dell’indicatore che abbiamo elaborato offline. La spiegazione di questo metodo qui (pagina 18). I passi principali per le stime di posa sono:
Carica i parametri intrinseci della videocamera . In precedenza estratto offline tramite la calibrazione.
Carica il pattern (marker) per tracciare: è un’immagine del marker planare che stiamo per tracciare. È necessario estrarre feature e generare descrittori ( punti chiave ) per questo modello, quindi in seguito possiamo confrontarci con le caratteristiche della scena. Algoritmi per questo compito:
Per ogni aggiornamento di frame, eseguire un algoritmo di rilevamento per estrarre feature dalla scena e generare descrittori. Ancora una volta abbiamo diverse opzioni.
Trova le corrispondenze tra i pattern e i descrittori di scena.
Trova la matrice di omografia da quelle partite. RANSAC può essere usato prima per trovare inlier / valori anomali nel set di partite.
Estrai Camera Pose dall’omografia.
Poiché le applicazioni AR spesso funzionano su dispositivi mobili, puoi prendere in considerazione anche altre caratteristiche rivelatore / descrittore:
Generalmente, se puoi scegliere i marcatori per il primo rilevamento di un bersaglio quadrato utilizzando un rilevatore di bordi e poi uno o Hough o semplicemente contorni, quindi identificare il marcatore particolare dal progetto interno. Piuttosto che usare un match match generico.
Dai un’occhiata ad Aruco per codice di esempio ben scritto.