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