11.07.2014 Views

Progetto e Realizzazione di un Sensore Ibrido Omnidirezionale/pin ...

Progetto e Realizzazione di un Sensore Ibrido Omnidirezionale/pin ...

Progetto e Realizzazione di un Sensore Ibrido Omnidirezionale/pin ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.4.1. Analisi dei requisiti<br />

Dato <strong>un</strong> sensore visivo da calibrare, l’ obiettivo del software progettato è quello <strong>di</strong><br />

costruire (tramite <strong>un</strong>o degli algoritmi visti precedentemente) <strong>un</strong>a “look-up-table” che<br />

descriva la mappatura <strong>di</strong> inversione prospettica, ossia la relazione tra la posizione dei<br />

p<strong>un</strong>ti sul piano <strong>di</strong> riferimento della calibrazione e la posizione dei pixel che li<br />

rappresentano nell’immagine acquisita dalla telecamera. In definitiva la look-up-table<br />

che dobbiamo generare dovrà ricevere in ingresso la posizione (X,Y) <strong>di</strong> <strong>un</strong> p<strong>un</strong>to sul<br />

piano, operare <strong>un</strong>a <strong>di</strong>scretizzazione sulla posizione <strong>di</strong> questo p<strong>un</strong>to (se questa non lo è<br />

già) e dare in uscita la posizione (x,y) del pixel relativo:<br />

x = Mx[ro<strong>un</strong>d(X / Sens)][ro<strong>un</strong>d(Y / Sens)],<br />

y = My[ro<strong>un</strong>d(X / Sens)][ro<strong>un</strong>d(Y / Sens)],<br />

dove: ro<strong>un</strong>d è <strong>un</strong>’operatore <strong>di</strong> arrotondamento all’intero più vicino, Sens è l’<strong>un</strong>ità <strong>di</strong><br />

misura in cui vogliamo muoverci nello spazio (o meglio il rapporto tra questa <strong>un</strong>ità <strong>di</strong><br />

misura e quella in cui sono espressi X e Y), Mx ed My sono due matrici contenenti i<br />

valori ricavati dalla calibrazione.<br />

In realtà, poiché sul piano <strong>di</strong> riferimento possiamo già operare <strong>un</strong>a <strong>di</strong>scretizzazione<br />

sud<strong>di</strong>videndolo in <strong>un</strong> reticolo <strong>di</strong> quadrati <strong>di</strong> lato Sens (sufficientemente piccolo per<br />

permetterci <strong>un</strong> accesso alle posizioni del piano con adeguata risoluzione, e ad esempio<br />

misurato in cm), non ci riferiremo ai p<strong>un</strong>ti dello spazio, ma alla posizione delle sue<br />

celle: la cella (X,Y) sarà quella il cui baricentro è posizionato, rispetto al sistema <strong>di</strong><br />

riferimento del piano, in (X*Sens,Y*Sens) cm. Quin<strong>di</strong> in generale l’accesso alla lookup-table<br />

sarà <strong>un</strong> semplice accesso ad <strong>un</strong>a matrice <strong>di</strong> coppie <strong>di</strong> valori.<br />

Oltre alla look-up-table vista, nel sistema si genera e gestisce anche la tabella inversa,<br />

che potremmo chiamare “tabella <strong>di</strong> localizzazione”: dato <strong>un</strong> pixel in<strong>di</strong>ca quale parte<br />

della superficie del piano <strong>di</strong> riferimento esso rappresenti, quin<strong>di</strong> permette <strong>di</strong> attribuire<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!