Public Member Functions | Protected Attributes | Private Member Functions
CBlobResult Class Reference

#include <BlobResult.h>

List of all members.

Public Member Functions

void AddBlob (CBlob *blob)
 CBlobResult ()
 CBlobResult (IplImage *source, IplImage *mask, uchar backgroundColor)
 CBlobResult (const CBlobResult &source)
void ClearBlobs ()
void Filter (CBlobResult &dst, int filterAction, funcio_calculBlob *evaluador, int condition, double lowLimit, double highLimit=0)
void Filter (CBlobResult &dst, int filterAction, funcio_calculBlob *evaluador, int condition, double lowLimit, double highLimit=0) const
CBlob GetBlob (int indexblob) const
CBlobGetBlob (int indexblob)
void GetNthBlob (funcio_calculBlob *criteri, int nBlob, CBlob &dst) const
double GetNumber (int indexblob, funcio_calculBlob *evaluador) const
int GetNumBlobs () const
double_stl_vector GetSTLResult (funcio_calculBlob *evaluador) const
CBlobResult operator+ (const CBlobResult &source) const
CBlobResultoperator= (const CBlobResult &source)
void PrintBlobs (char *nom_fitxer) const
virtual ~CBlobResult ()
 Destructor.

Protected Attributes

Blob_vector m_blobs

Private Member Functions

void DoFilter (CBlobResult &dst, int filterAction, funcio_calculBlob *evaluador, int condition, double lowLimit, double highLimit=0) const
 Does the Filter method job.
void RaiseError (const int errorCode) const

Detailed Description

Classe que conté un conjunt de blobs i permet extreure'n propietats o filtrar-los segons determinats criteris. Class to calculate the blobs of an image and calculate some properties on them. Also, the class provides functions to filter the blobs using some criteria.

Definition at line 76 of file BlobResult.h.


Constructor & Destructor Documentation

constructor estandard, crea un conjunt buit de blobs Standard constructor, it creates an empty set of blobs

  • FUNCIĶ: CBlobResult
  • FUNCIONALITAT: Constructor estandard.
  • PARĀMETRES:
  • RESULTAT:
  • Crea un CBlobResult sense cap blob
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 20-07-2004.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: CBlobResult
  • FUNCTIONALITY: Standard constructor
  • PARAMETERS:
  • RESULT:
    • creates an empty set of blobs
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 48 of file BlobResult.cpp.

CBlobResult::CBlobResult ( IplImage *  source,
IplImage *  mask,
uchar  backgroundColor 
)

constructor a partir d'una imatge Image constructor, it creates an object with the blobs of the image

  • FUNCIĶ: CBlobResult
  • FUNCIONALITAT: Constructor a partir d'una imatge. Inicialitza la seqüčncia de blobs amb els blobs resultants de l'anālisi de blobs de la imatge.
  • PARĀMETRES:
    • source: imatge d'on s'extreuran els blobs
    • mask: māscara a aplicar. Només es calcularan els blobs on la māscara sigui diferent de 0. Els blobs que toquin a un pixel 0 de la māscara seran considerats exteriors.
    • threshold: llindar que s'aplicarā a la imatge source abans de calcular els blobs
    • findmoments: indica si s'han de calcular els moments de cada blob
    • blackBlobs: true per buscar blobs negres a la binaritzaziķ (it will join all extern white blobs). false per buscar blobs negres a la binaritzaziķ (it will join all extern black blobs).
  • RESULTAT:
    • objecte CBlobResult amb els blobs de la imatge source
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: CBlob
  • FUNCTIONALITY: Constructor from an image. Fills an object with all the blobs in the image
  • PARAMETERS:
    • source: image to extract the blobs from
    • mask: optional mask to apply. The blobs will be extracted where the mask is not 0. All the neighbouring blobs where the mask is 0 will be extern blobs
    • threshold: threshold level to apply to the image before computing blobs
    • findmoments: true to calculate the blob moments (slower) (needed to calculate elipses!)
    • blackBlobs: true to search for black blobs in the binarization (it will join all extern white blobs). false to search for white blobs in the binarization (it will join all extern black blobs).
  • RESULT:
    • object with all the blobs in the image. It throws an EXCEPCIO_CALCUL_BLOBS if some error appears in the BlobAnalysis function
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 94 of file BlobResult.cpp.

constructor de cōpia Copy constructor

  • FUNCIĶ: CBlobResult
  • FUNCIONALITAT: Constructor de cōpia. Inicialitza la seqüčncia de blobs amb els blobs del parāmetre.
  • PARĀMETRES:
    • source: objecte que es copiarā
  • RESULTAT:
    • objecte CBlobResult amb els blobs de l'objecte source
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: CBlobResult
  • FUNCTIONALITY: Copy constructor
  • PARAMETERS:
    • source: object to copy
  • RESULT:
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 134 of file BlobResult.cpp.

Destructor.

  • FUNCIĶ: ~CBlobResult
  • FUNCIONALITAT: Destructor estandard.
  • PARĀMETRES:
  • RESULTAT:
    • Allibera la memōria reservada de cadascun dels blobs de la classe
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: ~CBlobResult
  • FUNCTIONALITY: Destructor
  • PARAMETERS:
  • RESULT:
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 178 of file BlobResult.cpp.


Member Function Documentation

void CBlobResult::AddBlob ( CBlob blob)

Afegeix un blob al conjunt Adds a blob to the set of blobs

  • FUNCIĶ: AddBlob
  • FUNCIONALITAT: Afegeix un blob al conjunt
  • PARĀMETRES:
    • blob: blob a afegir
  • RESULTAT:
    • modifica el conjunt de blobs actual
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 2006/03/01
  • MODIFICACIĶ: Data. Autor. Descripciķ.

Definition at line 305 of file BlobResult.cpp.

Elimina tots els blobs de l'objecte Clears all the blobs of the class

  • FUNCIĶ: ClearBlobs
  • FUNCIONALITAT: Elimina tots els blobs de l'objecte
  • PARĀMETRES:
  • RESULTAT:
    • Allibera tota la memōria dels blobs
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās Navarra
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.

Definition at line 828 of file BlobResult.cpp.

void CBlobResult::DoFilter ( CBlobResult dst,
int  filterAction,
funcio_calculBlob evaluador,
int  condition,
double  lowLimit,
double  highLimit = 0 
) const [private]

Does the Filter method job.

Definition at line 590 of file BlobResult.cpp.

void CBlobResult::Filter ( CBlobResult dst,
int  filterAction,
funcio_calculBlob evaluador,
int  condition,
double  lowLimit,
double  highLimit = 0 
)

Retorna aquells blobs que compleixen les condicions del filtre en el destination Filters the blobs of the class using some property

  • FUNCIĶ: Filter (const version)
  • FUNCIONALITAT: Filtra els blobs de la classe i deixa el resultat amb només els blobs que han passat el filtre. El filtrat es basa en especificar condicions sobre un resultat dels blobs i seleccionar (o excloure) aquells blobs que no compleixen una determinada condicio
  • PARĀMETRES:
    • dst: variable per deixar els blobs filtrats
    • filterAction: acciķ de filtrat. Incloure els blobs trobats (B_INCLUDE), o excloure els blobs trobats (B_EXCLUDE)
    • evaluador: Funciķ per evaluar els blobs (qualsevol objecte derivat de COperadorBlob
    • Condition: tipus de condiciķ que ha de superar la mesura (FilterType) sobre cada blob per a ser considerat. B_EQUAL,B_NOT_EQUAL,B_GREATER,B_LESS,B_GREATER_OR_EQUAL, B_LESS_OR_EQUAL,B_INSIDE,B_OUTSIDE
    • LowLimit: valor numčric per a la comparaciķ (Condition) de la mesura (FilterType)
    • HighLimit: valor numčric per a la comparaciķ (Condition) de la mesura (FilterType) (només té sentit per a aquelles condicions que tenen dos valors (B_INSIDE, per exemple).
  • RESULTAT:
    • Deixa els blobs resultants del filtrat a destination
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: Filter (const version)
  • FUNCTIONALITY: Get some blobs from the class based on conditions on measures of the blobs.
  • PARAMETERS:
    • dst: where to store the selected blobs
    • filterAction: B_INCLUDE: include the blobs which pass the filter in the result B_EXCLUDE: exclude the blobs which pass the filter in the result
    • evaluador: Object to evaluate the blob
    • Condition: How to decide if the result returned by evaluador on each blob is included or not. It can be: B_EQUAL,B_NOT_EQUAL,B_GREATER,B_LESS,B_GREATER_OR_EQUAL, B_LESS_OR_EQUAL,B_INSIDE,B_OUTSIDE
    • LowLimit: numerical value to evaluate the Condition on evaluador(blob)
    • HighLimit: numerical value to evaluate the Condition on evaluador(blob). Only useful for B_INSIDE and B_OUTSIDE
  • RESULT:
    • It returns on dst the blobs that accomplish (B_INCLUDE) or discards (B_EXCLUDE) the Condition on the result returned by evaluador on each blob
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 561 of file BlobResult.cpp.

void CBlobResult::Filter ( CBlobResult dst,
int  filterAction,
funcio_calculBlob evaluador,
int  condition,
double  lowLimit,
double  highLimit = 0 
) const
  • FUNCIĶ: Filter
  • FUNCIONALITAT: Filtra els blobs de la classe i deixa el resultat amb només els blobs que han passat el filtre. El filtrat es basa en especificar condicions sobre un resultat dels blobs i seleccionar (o excloure) aquells blobs que no compleixen una determinada condicio
  • PARĀMETRES:
    • dst: variable per deixar els blobs filtrats
    • filterAction: acciķ de filtrat. Incloure els blobs trobats (B_INCLUDE), o excloure els blobs trobats (B_EXCLUDE)
    • evaluador: Funciķ per evaluar els blobs (qualsevol objecte derivat de COperadorBlob
    • Condition: tipus de condiciķ que ha de superar la mesura (FilterType) sobre cada blob per a ser considerat. B_EQUAL,B_NOT_EQUAL,B_GREATER,B_LESS,B_GREATER_OR_EQUAL, B_LESS_OR_EQUAL,B_INSIDE,B_OUTSIDE
    • LowLimit: valor numčric per a la comparaciķ (Condition) de la mesura (FilterType)
    • HighLimit: valor numčric per a la comparaciķ (Condition) de la mesura (FilterType) (només té sentit per a aquelles condicions que tenen dos valors (B_INSIDE, per exemple).
  • RESULTAT:
    • Deixa els blobs resultants del filtrat a destination
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: Filter
  • FUNCTIONALITY: Get some blobs from the class based on conditions on measures of the blobs.
  • PARAMETERS:
    • dst: where to store the selected blobs
    • filterAction: B_INCLUDE: include the blobs which pass the filter in the result B_EXCLUDE: exclude the blobs which pass the filter in the result
    • evaluador: Object to evaluate the blob
    • Condition: How to decide if the result returned by evaluador on each blob is included or not. It can be: B_EQUAL,B_NOT_EQUAL,B_GREATER,B_LESS,B_GREATER_OR_EQUAL, B_LESS_OR_EQUAL,B_INSIDE,B_OUTSIDE
    • LowLimit: numerical value to evaluate the Condition on evaluador(blob)
    • HighLimit: numerical value to evaluate the Condition on evaluador(blob). Only useful for B_INSIDE and B_OUTSIDE
  • RESULT:
    • It returns on dst the blobs that accomplish (B_INCLUDE) or discards (B_EXCLUDE) the Condition on the result returned by evaluador on each blob
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 499 of file BlobResult.cpp.

CBlob CBlobResult::GetBlob ( int  indexblob) const

Retorna el blob enčssim Gets the n-th blob of the class ( without sorting )

  • FUNCIĶ: GetBlob
  • FUNCIONALITAT: Retorna un blob si aquest existeix (index != -1)
  • PARĀMETRES:
    • indexblob: index del blob a retornar
  • RESULTAT:
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.

Definition at line 718 of file BlobResult.cpp.

CBlob * CBlobResult::GetBlob ( int  indexblob)

Definition at line 725 of file BlobResult.cpp.

void CBlobResult::GetNthBlob ( funcio_calculBlob criteri,
int  nBlob,
CBlob dst 
) const

Retorna l'enčssim blob segons un determinat criteri Sorts the blobs of the class acording to some criteria and returns the n-th blob

  • FUNCIĶ: GetNthBlob
  • FUNCIONALITAT: Retorna l'enčssim blob segons un determinat criteri
  • PARĀMETRES:
    • criteri: criteri per ordenar els blobs (objectes derivats de COperadorBlob)
    • nBlob: index del blob a retornar
    • dst: on es retorna el resultat
  • RESULTAT:
    • retorna el blob nBlob a dst ordenant els blobs de la classe segons el criteri en ordre DESCENDENT. Per exemple, per obtenir el blob major: GetNthBlob( CBlobGetArea(), 0, blobMajor ); GetNthBlob( CBlobGetArea(), 1, blobMajor ); (segon blob més gran)
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.

Definition at line 763 of file BlobResult.cpp.

double CBlobResult::GetNumber ( int  indexBlob,
funcio_calculBlob evaluador 
) const

Calcula un valor sobre un blob de la classe Computes some property on one blob of the class

  • FUNCIĶ: GetNumber
  • FUNCIONALITAT: Calcula el resultat especificat sobre un únic blob de la classe
  • PARĀMETRES:
    • evaluador: Qualsevol objecte derivat de COperadorBlob
    • indexblob: número de blob del que volem calcular el resultat.
  • RESULTAT:
    • Retorna un double amb el resultat
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: GetNumber
  • FUNCTIONALITY: Computes the function evaluador on a blob of the class
  • PARAMETERS:
    • indexBlob: index of the blob to compute the function
    • evaluador: function to apply to each blob (any object derived from the COperadorBlob class )
  • RESULT:
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 439 of file BlobResult.cpp.

int CBlobResult::GetNumBlobs ( ) const [inline]

Retorna el total de blobs Gets the total number of blobs

Definition at line 147 of file BlobResult.h.

Calcula un valor sobre tots els blobs de la classe retornant un std::vector<double> Computes some property on all the blobs of the class

  • FUNCIĶ: GetSTLResult
  • FUNCIONALITAT: Calcula el resultat especificat sobre tots els blobs de la classe
  • PARĀMETRES:
  • RESULTAT:
    • Retorna un array de double's STL amb el resultat per cada blob
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: GetResult
  • FUNCTIONALITY: Computes the function evaluador on all the blobs of the class and returns a vector with the result
  • PARAMETERS:
    • evaluador: function to apply to each blob (any object derived from the COperadorBlob class )
  • RESULT:
    • vector with all the results in the same order as the blobs
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 390 of file BlobResult.cpp.

CBlobResult CBlobResult::operator+ ( const CBlobResult source) const

operador + per concatenar dos CBlobResult Addition operator to concatenate two sets of blobs

  • FUNCIĶ: operador +
  • FUNCIONALITAT: Concatena els blobs de dos CBlobResult
  • PARĀMETRES:
    • source: d'on s'agafaran els blobs afegits a l'actual
  • RESULTAT:
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • NOTA: per la implementaciķ, els blobs del parāmetre es posen en ordre invers
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: + operator
  • FUNCTIONALITY: Joins the blobs in source with the current ones
  • PARAMETERS:
    • source: object to copy the blobs
  • RESULT:
    • object with the actual blobs and the source blobs
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 266 of file BlobResult.cpp.

CBlobResult & CBlobResult::operator= ( const CBlobResult source)

operador = per a fer assignacions entre CBlobResult Assigment operator

  • FUNCIĶ: operador =
  • FUNCIONALITAT: Assigna un objecte source a l'actual
  • PARĀMETRES:
    • source: objecte a assignar
  • RESULTAT:
    • Substitueix els blobs actuals per els de l'objecte source
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.
  • FUNCTION: Assigment operator
  • FUNCTIONALITY:
  • PARAMETERS:
  • RESULT:
  • RESTRICTIONS:
  • AUTHOR: Ricard Borrās
  • CREATION DATE: 25-05-2005.
  • MODIFICATION: Date. Author. Description.

Definition at line 210 of file BlobResult.cpp.

void CBlobResult::PrintBlobs ( char *  nom_fitxer) const

Escriu els blobs a un fitxer Prints some features of all the blobs in a file

  • FUNCIĶ: PrintBlobs
  • FUNCIONALITAT: Escriu els parāmetres (ārea, perímetre, exterior, mitjana) de tots els blobs a un fitxer.
  • PARĀMETRES:
    • nom_fitxer: path complet del fitxer amb el resultat
  • RESULTAT:
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.

Definition at line 922 of file BlobResult.cpp.

void CBlobResult::RaiseError ( const int  errorCode) const [private]

Funciķ per gestionar els errors Function to manage the errors

  • FUNCIĶ: RaiseError
  • FUNCIONALITAT: Funciķ per a notificar errors al l'usuari (en debug) i llenįa les excepcions
  • PARĀMETRES:
    • errorCode: codi d'error
  • RESULTAT:
    • Ensenya un missatge a l'usuari (en debug) i llenįa una excepciķ
  • RESTRICCIONS:
  • AUTOR: Ricard Borrās Navarra
  • DATA DE CREACIĶ: 25-05-2005.
  • MODIFICACIĶ: Data. Autor. Descripciķ.

Definition at line 870 of file BlobResult.cpp.


Member Data Documentation

Vector amb els blobs Vector with all the blobs

Definition at line 168 of file BlobResult.h.


The documentation for this class was generated from the following files:


hrl_cvblobslib
Author(s): kelsey
autogenerated on Wed Nov 27 2013 11:32:58