2012-08-27 12 views
6

Non ho bisogno di una soluzione di lavoro, ma sto cercando qualcuno che mi può spingere nella giusta direzione con alcuni accenni utili/link:posizione del semplice riferimento nel immagine

Ho un'immagine con un fiduciale in esso (può essere ad esempio una croce o un punto o qualsiasi altra geometria semplice). La fonte delle immagini stessa è illuminata in modo tale che a un umano non piacerebbe l'immagine risultante, ma il contrasto per il fiduciale è molto buono. Poi ho una chiara descrizione geometrica di quel fiduciale (formato di dati vettoriali) e una sua posizione nominale.

Ora voglio OpenCV per trovare il fiducial nell'immagine e restituirmi la sua posizione reale, corrente (e rotazione per fiducial dove questo è possibile).

Come si può fare con OpenCV? Le esercitazioni che ho trovato utilizzano sempre schemi complessi come volti e immagini che non sono ottimizzati per il rilevamento fiduciale stesso, quindi utilizzano tutti metodi di apprendimento/descrizione molto complicati.

+0

Mentre la domanda è attualmente scritta, sembra che tu voglia che qualcuno faccia i tuoi compiti/progetti. Per favore spiega cosa hai provato prima e quali problemi affronti. – Sam

+1

Come già detto nella mia domanda ho solo bisogno di alcuni suggerimenti per trovare la giusta direzione, nessuna soluzione completa. Non incolparmi di qualcosa solo perché semplicemente non hai letto completamente la mia domanda. – Elmi

+0

Secondo la faq http://stackoverflow.com/faq Quindi è ** non ** per dibattiti o consigli aperti, ma per domande di programmazione specifiche. La domanda non può essere ragionevolmente risolta senza polemiche o in una risposta breve e specifica. E suppongo che i tuoi compiti riguardino solo la ricerca dell'algoritmo giusto, quindi chiedi semplicemente a qualcuno di dirti che per te suona male – Sam

risposta

9

A seconda del tuo fiducial puoi usare diversi metodi. Un metodo molto comune, già implementato in OpenCV è SIFT, che trova punti robusti e invarianti di scala in un'immagine. Il modo di procedere è:

  • Run SIFT sulla linea fiduciale. Questo genera dei punti chiave da tracciare.

  • Run SIFT in tempo reale (o VELOCE, che può anche generare descrittori SIFT) per trovare punti chiave nella scena.

  • Utilizzare un dispositivo di adattamento (corrispondente FLANN, ad esempio) per individuare i punti chiave nell'immagine che corrispondono al fiduciale.

  • Eseguire findhomography() per i punti corrispondenti. Dall'omografia trovata H matrice 3x3, è possibile obtain the camera pose.

Ci sono altri approcci, questo è quello che mi piace ed è abbastanza aggiornato e veloce.

+1

Questo è quello che stavo cercando. Figo, grazie! – Elmi