Main Page | Class List | File List | Class Members

AISAiboYCrCbColorSeg Class Reference

Implementa il color detection su 32 colori via software per Sony Aibo. More...

#include <AISAiboYCrCbColorSeg.h>

List of all members.

Public Types

enum  Colors {
  l0 = 0x01, l1 = 0x02, l2 = 0x04, l3 = 0x08,
  l4 = 0x10, l5 = 0x20, l6 = 0x40, l7 = 0x80,
  l8 = 0x0100, l9 = 0x0200, l10 = 0x0400, l11 = 0x0800,
  l12 = 0x1000, l13 = 0x2000, l14 = 0x4000, l15 = 0x8000,
  l16 = 0x010000, l17 = 0x020000, l18 = 0x040000, l19 = 0x080000,
  l20 = 0x100000, l21 = 0x200000, l22 = 0x400000, l23 = 0x800000,
  l24 = 0x01000000, l25 = 0x02000000, l26 = 0x04000000, l27 = 0x08000000,
  l28 = 0x10000000, l29 = 0x20000000, l30 = 0x40000000, l31 = 0x80000000
}
 Colori riconscibili dalla classe. More...

Public Member Functions

 AISAiboYCrCbColorSeg (int width, int height)
 Costruisce un oggetto per il riconoscimento dei colori data un immagine di dimensioni in pixel widthxheigh.
 AISAiboYCrCbColorSeg ()
 Costruttore di default.
 AISAiboYCrCbColorSeg (const AISAiboYCrCbColorSeg &other)
 Costruttore di copia.
 ~AISAiboYCrCbColorSeg ()
 Distruttore.
AISAiboYCrCbColorSegoperator= (const AISAiboYCrCbColorSeg &other)
 Operatore di copia.
const unsigned int * processImage (unsigned char *pImage)
 Processa l'immagine passanta come parametro.
bool setColor (Colors selectedLayer, unsigned char y, unsigned char crMin, unsigned char crMax, unsigned char cbMin, unsigned char cbMax)
 Imposta i valori y,cr,cb per il riconoscimento di un dato colore.
int getNumberOfRecognizedPixel (Colors selectedLayer)
 Ritorna il numero di pixel riconosciuti in un dato layer.
bool isValid ()
 Controlla se l'oggeto e' valido, quindi puo' essere utilizzato per la segmentazione, o meno.

Protected Member Functions

unsigned int pseudoLog2 (register unsigned int n)
 Calcola lo pseudo logaritmo in base due di n.

Protected Attributes

bool mIAmValid
 Flag a true se l'oggetto e' valido (quindi utilizzabile), false se inutilizzabile.
int mWidth
 Larghezza dell'immagine.
int mHeight
 Altezza dell'immagine.
size_t mImageSize
 Dimensione dell'immagine in numero di pixel.
unsigned int mYValue [256]
 Array per il riconoscimento dei colori.
unsigned int mCrValue [256]
 Array per il riconoscimento dei colori.
unsigned int mCbValue [256]
 Array per il riconoscimento dei colori.
int mNumberOfRecognizedPixel [32]
 Array contenente per ogni layer il numero di pixel riconosciuti.
unsigned int * mProcessedImage
 Array di int contenente l'immagine con i colori riconosciuti.
int mDoubleWidth
 Due volte il width dell'immagine (per ottimizzare l'algoritmo).
int mSomeWidth
 Coefficiente 5 * width +1 (per ottimizzare l'algoritmo).


Detailed Description

Implementa il color detection su 32 colori via software per Sony Aibo.

Permette di riconoscere fino a 32 colori data un immagine nello spazio colore YCrCb in cui ogni pixel e' composto da tre byte (y cr cb). Il tempo di esecuzione dato n il numero di colori impostati da riconoscere e' O(1).

Il metodo processImage() effettua il color detection, come parametro richiede l'immagine della telecamera in formato RAW, quindi il valore ritornato dal metodo OFbkImageVectorData::getData().


Member Enumeration Documentation

enum AISAiboYCrCbColorSeg::Colors
 

Colori riconscibili dalla classe.

Una volta impostati i colori e' possibile controllare il riconoscimento dell'i-esimo colore effettuando un and logico tra il pixel dell'immagine e l'i-esimo colore.


Constructor & Destructor Documentation

AISAiboYCrCbColorSeg::AISAiboYCrCbColorSeg int  width,
int  height
 

Costruisce un oggetto per il riconoscimento dei colori data un immagine di dimensioni in pixel widthxheigh.

Parameters:
width larghezza dell'immagine.
height altezza dell'immagine.

AISAiboYCrCbColorSeg::AISAiboYCrCbColorSeg  )  [inline]
 

Costruttore di default.

Costuisce un oggetto non valido.

AISAiboYCrCbColorSeg::AISAiboYCrCbColorSeg const AISAiboYCrCbColorSeg other  ) 
 

Costruttore di copia.

Copia dell'oggetto permessa.


Member Function Documentation

int AISAiboYCrCbColorSeg::getNumberOfRecognizedPixel Colors  selectedLayer  )  [inline]
 

Ritorna il numero di pixel riconosciuti in un dato layer.

Da eseguire dopo il metodo processImage per avere valori aggiornati.

Parameters:
selectedLayer layer di cui si vuole conoscere il numero di pixel riconosciuti.
Returns:
int numero di pixel riconosciuti, -1 in caso di errore.

bool AISAiboYCrCbColorSeg::isValid  )  [inline]
 

Controlla se l'oggeto e' valido, quindi puo' essere utilizzato per la segmentazione, o meno.

Returns:
true se l'oggetto e' valido, false altrimenti.

AISAiboYCrCbColorSeg & AISAiboYCrCbColorSeg::operator= const AISAiboYCrCbColorSeg other  ) 
 

Operatore di copia.

Copia per assegnamento dell'oggetto permessa.

const unsigned int * AISAiboYCrCbColorSeg::processImage unsigned char *  pImage  ) 
 

Processa l'immagine passanta come parametro.

Restistuisce un'array di int di dimensione width x heigh contenente l'immagine con i colori individutati.q

Parameters:
pImage puntatore all'immagine Raw da processare. L'immagine Aibo in formato RAW e' il valore ritornato dal metodo OFbkImageVectorData::getData() applicato sul layer voluto.
Returns:
puntatore const all'immagine processata. E' un array di unsigned int di dimensione width x height.

unsigned int AISAiboYCrCbColorSeg::pseudoLog2 register unsigned int  n  )  [inline, protected]
 

Calcola lo pseudo logaritmo in base due di n.

Ritorna la posizione del primo bit a partire dal basso uguale a 1.

Parameters:
n valore su cui applicare lo pseudo logaritmo.
Returns:
posizione del primo bit a partire dal piu' basso uguale a 1.

bool AISAiboYCrCbColorSeg::setColor Colors  selectedLayer,
unsigned char  y,
unsigned char  crMin,
unsigned char  crMax,
unsigned char  cbMin,
unsigned char  cbMax
 

Imposta i valori y,cr,cb per il riconoscimento di un dato colore.

Parameters:
selectedLayer colore da impostare.
y valore di y da impostare.
crMin valore minimo di cr.
crMax valore massimo di cr.
cbMin valore minimo di cb.
cbMax valore massimo di cb.
Returns:
true se l'impostazione e' andata a buon fine, false altrimenti.


Member Data Documentation

unsigned int AISAiboYCrCbColorSeg::mCbValue[256] [protected]
 

Array per il riconoscimento dei colori.

Per ogni valore di cb (indice dell'array) contiene un unsigned int in cui ogni bit rappresenta l'i-esimo colore.

unsigned int AISAiboYCrCbColorSeg::mCrValue[256] [protected]
 

Array per il riconoscimento dei colori.

Per ogni valore di cr (indice dell'array) contiene un unsigned int in cui ogni bit rappresenta l'i-esimo colore.

unsigned int AISAiboYCrCbColorSeg::mYValue[256] [protected]
 

Array per il riconoscimento dei colori.

Per ogni valore di y (indice dell'array) contiene un unsigned int in cui ogni bit rappresenta l'i-esimo colore.


The documentation for this class was generated from the following files:
Generated on Thu Jun 29 16:44:20 2006 for AISYCrCbColorSeg by  doxygen 1.4.4