Main Page | Class List | File List | Class Members

AiboEdgeDetector Class Reference

Classe per il calcolo del Sobel Edge Detection sui robot Aibo della Sony. More...

#include <AiboEdgeDetector.h>

List of all members.

Public Member Functions

 AiboEdgeDetector ()
 Costruttore di default.
 AiboEdgeDetector (int width, int height)
 Costruttore.
 ~AiboEdgeDetector ()
 Distruttore di default.
const unsigned char * getMagnitude (unsigned char *pImage)
 Calcola la Magnitude del Sobel Edge Detection sull'immagine passata come argomento.
const char * getGradientX (unsigned char *pImage)
 Calcola Gradiente X del Sobel Edge Detection sull'immagine passata come argomento.
const char * getGradientY (unsigned char *pImage)
 Calcola Gradiente Y del Sobel Edge Detection sull'immagine passata come argomento.

Private Attributes

bool mIAmValid
 Flag per valutare se l'oggetto e' valido e inizializzato o meno.
int mWidth
 Larghezza dell'immagine in pixel.
int mHeight
 Altezza dell'immagine in pixel.
int mImageSize
 Dimensione dell'immagine in byte.
unsigned char * mProcessedImage
 Array contenente l'immagine processata di dimensione mImageSize.
int mSomeWidth
 Dimesione di una riga dell'immagine in formato raw.


Detailed Description

Classe per il calcolo del Sobel Edge Detection sui robot Aibo della Sony.

Utilizza alcuni campi non documentati presenti nelle immagini in formato RAW; stando ad alcuni documenti non ufficiali le immagini in formato RAW hanno la seguente forma:

height width width width width width width

YYYY CrCrCrCr CbCbCbCb GradXGradXGradX GradYGradYGradY MagMagMag

YYYYCrCrCrCrCbCbCbCbGradXGradXGradXGradYGradYGradYMagMagMag

...

YYYYCrCrCrCrCbCbCbCbGradXGradXGradXGradYGradYGradYMagMagMag

Da alcuni test risulta che il campo Mag e' privo di significato, quindi viene ricalcolato sulla base dei due gradienti con l'operazione: abs(MAG)=abs(GraX)+abs(GradY).

Questa classe risulta molto efficiente nel calcolo dell'Edge Detection, basandosi su valori ritornati dall'hardware degli Aibo, anche se l'immagine risultante risulta essere leggermente inferiore in qualita' rispetto a quella ottenuta applicando l'algoritmo con routine software.


Constructor & Destructor Documentation

AiboEdgeDetector::AiboEdgeDetector  )  [inline]
 

Costruttore di default.

Costruisce un oggetto non utilizzabile.

AiboEdgeDetector::AiboEdgeDetector int  width,
int  height
 

Costruttore.

Costruisce un oggetto per il calcolo dell'Edge Detection data altezza e larghezza dell'immagine.

Parameters:
width largezza dell'immagine in pixel
height altezza dell'immagine in pixel.

AiboEdgeDetector::~AiboEdgeDetector  ) 
 

Distruttore di default.


Member Function Documentation

const char * AiboEdgeDetector::getGradientX unsigned char *  pImage  ) 
 

Calcola Gradiente X del Sobel Edge Detection sull'immagine passata come argomento.

La matrice ritornata assume valori [-128,127]. L'argomento dev'essere un'immagine Aibo in formato RAW, come ritornata dal metodo OFbkImageVectorData::getData().

Parameters:
pImage immagine RAW
Returns:
array const contenente il magnitude dell'immagine di dimensione widthxheight byte.

const char * AiboEdgeDetector::getGradientY unsigned char *  pImage  ) 
 

Calcola Gradiente Y del Sobel Edge Detection sull'immagine passata come argomento.

La matrice ritornata assume valori [-128,127]. L'argomento dev'essere un'immagine Aibo in formato RAW, come ritornata dal metodo OFbkImageVectorData::getData().

Parameters:
pImage immagine RAW
Returns:
array const contenente il magnitude dell'immagine di dimensione widthxheight byte.

const unsigned char * AiboEdgeDetector::getMagnitude unsigned char *  pImage  ) 
 

Calcola la Magnitude del Sobel Edge Detection sull'immagine passata come argomento.

La matrice ritornata assueme valori da 0(assenza di bordi) a 255(massimo bordo) (dai test e' difficile avere bordi con magniute superiore a 100).L'argomento dev'essere un'immagine Aibo in formato RAW, come ritornata dal metodo OFbkImageVectorData::getData().

Parameters:
pImage immagine RAW
Returns:
array const contenente il magnitude dell'immagine di dimensione widthxheight byte.


Member Data Documentation

int AiboEdgeDetector::mHeight [private]
 

Altezza dell'immagine in pixel.

bool AiboEdgeDetector::mIAmValid [private]
 

Flag per valutare se l'oggetto e' valido e inizializzato o meno.

int AiboEdgeDetector::mImageSize [private]
 

Dimensione dell'immagine in byte.

unsigned char* AiboEdgeDetector::mProcessedImage [private]
 

Array contenente l'immagine processata di dimensione mImageSize.

int AiboEdgeDetector::mSomeWidth [private]
 

Dimesione di una riga dell'immagine in formato raw.

int AiboEdgeDetector::mWidth [private]
 

Larghezza dell'immagine in pixel.


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 16:01:56 2006 for AiboEdgeDetection by  doxygen 1.4.4