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