Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 65
i
i
“MF_Tesi” — 2011/9/12 — 11:39 — page 65 — #65
i
4.3. IMPLEMENTAZIONE IN C
i
65
//normalizzazione dell’istogramma dell’immagine di output
cvNormalize(out, out, 0, 255, CV_MINMAX, NULL);
cvShowImage("Left", left);
cvShowImage("Right", right);
cvShowImage("Disp", out);
cvShowImage("Res", test);
cvWaitKey(0);
cvDestroyWindow("Left");
cvDestroyWindow("Right");
cvDestroyWindow("Disp");
cvReleaseImage(&left);
cvReleaseImage(&right);
cvReleaseImage(&disp);
cvSaveImage("output.png", out);
cvReleaseImage(&out);
printf("Bye Bye\n");
77
82
87
}
Il main gestisce e coordina tutte le operazioni. Come prima operazione, vengono caricate le immagini stereo dalla memoria e ne vengono allocate due per
la disparità e per l’immagine di output in scala di grigi tramite le primitive di
OpenCV. In un ciclo vengono elaborate tutte le righe dell’immagine. Per ogni
coppia viene creata una matrice dei punteggi vuota, viene chiamata la funzione
per il calcolo dello scoring, dopodichè viene invocata la funzione che esegue il
backtracking e viene memorizzato il percorso. Di questo percorso viene calcolata la disparità, e tale riga di disparità viene memorizzata nell’immagine di
output. Tramite le funzioni di OpenCV vengono aperte delle finestre in cui
vengono visualizzate le immagini di input e la mappa di disparità risultante.
In particolare prima di essere mostrata, la mappa di disparità viene sottoposta
ad un’operazione di miglioramento del contrasto affinchè il risultato sia meglio
visibile. Infine, prima della terminazione dell’algoritmo vengono rilasciate le
risorse di OpenCV utilizzate.
Nella modiltà di DEBUG, vengono utilizzate delle immagini di dimensioni 10 ×
10 pixel in modo da poter seguire agevolmente l’esecuzione dell’algoritmo su
una coppia di scanlines. È disponibile inoltrè la modalità di benchmark, attivabile definendo la macro PROF in cui vengono misurati i tempi di esecuzione
dell’algoritmo, tali tempi saranno analizzati e confrontati nei capitoli successivi.
i
i
i
i