Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 55
Capitolo
3
AGAST implementazioni
3.1
Seriale su PC
Come già spiegato nel capitolo 2, AGAST utilizza un albero di ricerca binaria
per la fase di corner detection. Questo albero, detto anche albero di switcing,
viene utilizzato per passare da un albero di decisione “omogeneo” ad uno “strutturato” in base alla luminosità dei pixel. Il comportamento di AGAST è stato
studiando prendendo in esame un’immagine monocromatica. In questo paragrafo, spiegheremo l’implementazione del codice C di AGAST e vedremo come
questa soluzione ha ottime performance che ci serviranno per poter approcciare
diversi tipi di implementazione, nel nostro caso specifico C to Hardware. Esistono varie tipi di implementazione che di eriscono tra loro per la grandezza
della maschera di pixel(area che si va ad analizzare nell’immagine). Noi abbiamo preso in considerazione agast5_8 che lavora su una maschera di 8 pixel ed
utilizza un cerchio di Bresenham pari a 0.33 e 0.1, con un numero di switch su
pixel uguali pari a 1 ed un numero di switch su pixel non uguali pari a 6.
Di seguito le parti salienti del codice di agast5_8.c:
1
//Prendiamo in esame solo le porzioni di codice che ci interessano per la
spiegazione
//Per il codice completo si rimanda all’appendice
55