Tesi Robotica Analisi, progettazione e implementazione... | Page 105

i i “LP_Tesi” — 2013/10/17 — 18:27 — page 105 — #105 i 5.1. PACKAGE STRUCT i 105 Algoritmo 5.1 Struct: data type 1 2 3 4 5 6 Integer Integer typedef typedef typedef typedef width = 450; height = 375; Bit#(9) BitC; Bit#(9) BitR; Bit#(18) BitF; Bit#(18) BitHF; Integer typedef typedef typedef parDeep = 16; Reg#(Bit#(16)) RegPar; Vector#(16, element) SizedVector#(type element); Bit#(4) BitPD; typedef typedef typedef typedef Reg#(BitC) RegBitC; Reg#(BitR) RegBitR; Reg#(BitF) RegBitF; Reg#(BitHF) RegBitHF; 7 8 9 10 11 12 13 14 15 16 Sia parDeep = x, con x > 0, vengono definiti i tipi:  RegP ar ⇐ Reg#(Bit#(x))  SizedV ector#(type el) ⇐ V ector#(x, el)   BitP D ⇐ Bit#(a) con a = lg2 (x) Una volta che tutti i valori sono stati settati nel modo giusto, si può passare all’inserimento dei path dei file usati durante la fase di test. Le stringhe pathLeft e pathRight devono contenere il percorso relativo o assoluto rispettivamente: del file che contiene l’immagine di sinistra e di quello che contiene l’immagine di destra. Le stringhe result_finalL e bw_disparity_L devono invece contenere il percorso relativo o assoluto dei file che dovranno contenere la mappa delle occlusioni sinistra e quelli che dovranno contenere la mappa di disparità sinistra. Durante la fase di test è stato scelto di usare per le immagini il formato nativamente binario Netpbm. All’interno di questo tipo di file, dopo una breve intestazione in cui vengono definiti formato, altezza, larghezza e profondità del colore in caratteri ASCII, comincia uno stream che descrive tutti i pixel dell’immagine. A seconda del formato scelto possiamo avere varie rappresentazioni dei pixel, nel progetto ne sono stati utilizzati due: i i i i