Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

Calibrazione telecamere.

Salve a tutti ecco il mio dilemma.

Ho realizzato un'applicazione con VB.Net che fa uso delle librerie NI-Vision che ha lo scopo, tramite due telecamere da 1280x1024 Firewire, di monitorare un prodotto finito e di misurarne la larghezza. Tutto ok con l'acquisizione dalle cam ma ora ho il dilemma della distorsione che l'ottica produce sull'immagine. Ovviamente se voglio dei risultati affidabili devo calibrare le due cam e non ho e non voglio usare il Machine Development Module per fare la calibrazione per cui ho utilizzato le ottime librerie OpenCV per farlo. E devo dire che i risultati sono sorprendenti. Tuttavia non mi sono ancora chiari dei concetti. L'immagine ricostruita (senza distorsione) è frutto di un complesso algoritmo ma pur sempre una ricostruzione che non puo essere affidabile al 100% E' cosi ?

0 Kudos
Messaggio 1 di 8
6.986Visualizzazioni

Ciao Marcello_IT

 

Grazie per aver postato il tuo problema su questo forum, oltre al tuo feedback sulle librerie OpenCV Smiley Felice

La precisione con cui viene calibrata la tua immagine dipende innanzi tutto dal tipo di distorsione che vuoi compensare. Si tratta infatti di distorsione lineare o non lineare (forse entrambi)? Ad ogni modo, nel primo caso (divergenza da una proiezione rettilinea) hai la possibilità di ottenere dei risultati decisamente affidabili data la trasformazione lineare che devi applicare sui punti della tua immagine. Diversamente, dipende dalla portata dell distorsione. Di conseguenza sarà compito dello sviluppatore effettuare un tuning dei parametri tale da consentire alla propria applicazione di rientrare nelle specifiche.

In definitiva, per rispondere alla tua domanda iniziale, un minimo di incertezza (matematicamente parlando) si ha sempre sull'immagine calibrata. Non penso onostamente che tale scarto possa rappresentare un problema per le performance che dovrai raggiungere.

Fammi sapere se ci sono ulteriori domande o problematiche.

 

Cordialmente

Matteo
0 Kudos
Messaggio 2 di 8
6.979Visualizzazioni

Buongiorno,

grazie per la sua risposta. Dunque mi sono cimentato da poco con i sistemi di visione e purtroppo ho dovuto sostituire un vecchio software, per cui volendo o non volendo......! La distorsione che le due telecamere introducono è del tipo a barilotto, anche se non molto accentuata, ma comunque tale da non rendere accettabile la misura della larghezza dell'oggetto. Le faccio un esempio pratico: se prendo tale oggetto e lo posiziono al centro dell'immagine risulta di  X pixel, lo stesso ogetto posto tutto a destra o a sinistra risulta x - 4 pixel. La misura dell'oggetto non causa l'errore di parallasse in quanto è molto sottile ( 2 mm circa di altezza, quindi trascurabile) per cui l'errore che si viene a generare è dovuto alla distorsione dell'iimagine catturata. Effettuando la calibrazione con una schacchiera autocostruita o prendendo quelle presenti in rete effettivamente l'immagine ricostruita è diversa da quella originale è la misura risulta molto più attendibile ma non ancora perfetta, presumo a causa di una calibrazione non perfettamente corretta. Spulciando sulla rete non si trova molto di come effettuare la calibrazione ,si parla sopprattutto di calibrazioni 3D, cosa che a me non interessa, io ho un piano 2D. Non sono riuscito a capire quale debba essere la dimensione della scacchiera, quante immagini debbo usare per calibrare e in che posizioni vanno messe.

Ripeto, attualmento ho stampato su un foglio A4 una scacchiera di 12x18 e la utilizzo in 3 posizioni diverse, dopodiche la funzione mi restituisce le due matrici 'distorsion' e 'intrinsic' che utilizzo poi per correggere l'immagine.

0 Kudos
Messaggio 3 di 8
6.977Visualizzazioni

Qualche aggiornamento?

0 Kudos
Messaggio 4 di 8
6.950Visualizzazioni

Salve Marcello_IT,

 

Trattandosi di una libreria di visione che non supportiamo direttamente non saprei come posso esserti utile. Nel caso in cui utilizzassi le nostre librerie e prodotti software (Vision Development Module) sarebbe più facile suggerirti il nostro parere.

In genere dovresti avere modo di poter condividere il tuo problema con la comunità OpenCV e appoggiarti sulla documentazione che viene messa a disposizione.

 

Cordialmente

Matteo
0 Kudos
Messaggio 5 di 8
6.947Visualizzazioni

E' possibile sapere come viene effettuata la calibrazione con Vision ? La tecnica è la stessa, ovvero viene ricostruita l'immagine ?

Sto utilizzando ora Vision Builder per fare delle prove e la sua calibrazione ma anche in quel caso è tutto celato dal mistero!

0 Kudos
Messaggio 6 di 8
6.937Visualizzazioni

 

Esempio fatto con Visual Bulder.

 

 

 

 

pic2.jpgEsempio con

 

 

 

E la misura sul lato dell'immagine.

 

 

 

pic1.jpg

 

 

 

Come si vede la misura non è la stessa.

 

 

0 Kudos
Messaggio 7 di 8
6.935Visualizzazioni

 

Come si puo vedere la misura in Pixel senza la calibrazione cambia molto. Ho voluto enfatizzare il problema utilizzando un'ottica che distorce molto l'immagine.

 

 

 

 

pic4.jpg

 

 

 

 

E al centro dell'immagine.

 

 

 

pic3.jpg

 

 

 

 

 

 

 

 

 

 

0 Kudos
Messaggio 8 di 8
6.929Visualizzazioni