in data 03-12-2014 01:35 PM
Salve, sto cercando di realizzare un sistema che mi permetta il tracking di un pattern (selezionato all'interno dell'immagine) nei frame successivi. Mi spiego meglio, una volta selezionato il pattern, cerco questo pattern in una finestra del frame successivo. Appena trovato un coefficiente di correlazione molto vicino ad 1 cambio le coordinate del pattern in base a dove è stato trovato nel frame corrente, e ripeto il processo per tutti i frame.
Ho realizzato il programma con OpenCV e funziona veramente bene. Dal momento che però devo acquisire da fireWire ho intenzione di utilizzare labview per acquisire e chiamare una DLL del codice realizzato in OpenCV. Ho fatto tutto questo, ma quando cerco di passare alla funzione DLL il frame precedente, molto probabilmente questo non avviene. Sembra quasi che i frame siano sempre uguali perché il tracking non avviene.
Infatti se gli passo solo il primo frame acquisito ed evito di effettuare l'update dei pattern come scritto sopra, il tracking viene eseguito (anche se fino ad un certo punto e non ho ancora capito perché e dove si pianta il tutto).
In allegato ho messo il .vi di labview e il source code DLL utilizzato.
Spero che qualcuno possa illuminarmi. (Ps.: ho provato di tutto per cercare di effettuare l'update, il .vi in allegato è frutto di vari manomissioni per far funzionare la cosa, non giudicate quanto brutto sia 😉 )
Grazie,
Cesare
in data 03-12-2014 04:46 PM
Scusatemi, ho risolto.
Il problema consisteva nel fatto che usavo la sequence structure.
Ho provato ad eliminarla e a rifare tutto il .vi senza la struttura sequenziale e funziona alla grande!
Saluti,
Cesare