class bicotiRegionProperty< CoordType, PixelType >
bicotiRegionProperty(
bicotiDexelRegion< CoordType, PixelType > * = NULL
)
void
SetRegion(
bicotiDexelRegion< CoordType, PixelType >)
void
FixInfo(
)
void
ComputeBorder(
)
void
ClassifyAdjacent(
double = -1 )
unsigned
GetPixelInRegionNumber(
)
unsigned
GetPixelsInBorderNumber(
)
unsigned
GetDistinctsAdjacentsSetsNumber(
)
vector<
CoordType
>& GetBorder( )
vector<
CoordType
>& GetAdjacents(
unsigned )
bicotiCoordinate<
REAL
> GetBaricenter( bicotiPixelWeight<
PixelType
> * = NULL )
Constructor del objeto, recibe como parámetro una bicotiDexelRegion< CoordType, PixelType >* , por defecto se toma NULL, esto esta hecho así para que se puedan generar "arrays" con estos objetos.
Asigna la bicotiDexelRegion< CoordType, PixelType >, que se pasa como parámetro, como región sobre cual se actuará.
Ordena con un criterio interno, el conjunto de puntos, para calcular los puntos( que normalmente represantan ubicación espacial de pixels sobre una imagen) que estan en el borde de la región. ................por ver si debe quedar pública.
Calcula los puntos pertenecientes al borde de la región, el conjunto que se obtiene es desordenado. Para acceder a los puntos del borde usar GetBorder( ).
Si se desea los puntos del borde ordenados, primero llamar a ComputeBorder(
) y luego llamar a esta función.
El parámetro que se pasa, un double distance_tol,
define una tolerancia de distancia de puntos sobre el borde, si no se cumple
genera otro conjunto de puntos. Recomendamos ver .............. ejemplos
Retorna la cantidad de puntos, que normalmente representan a ubicación de pixels en la implementación de imagen, que hay en la región.
Una vez llamada la función ComputeBorder( ), se puede preguntar la cantidad de puntos sobre el borde.
En función de la tolerancia, parámetro de la función ClassifyAdjacents( tolerancia ), se obtiene el borde pero fraccionado en diferentes conjuntos de puntos, con esta función( una vez llamada ComputeBorder( ) y ClassifyAdjacents( tolerancia ) ) me informo de la cantidad de subconjuntos que se clasifico al borde de la región.
Despues de haber llamado a ComputeBorder( ), puedo obtener los puntos del borde mediante esta función, un caso útil es para crear una curva que sea el borde.
Accedo a los subconjuntos en los que se clasifico el borde de la región, el unsigned es un indice que va desde 0 ... GetDistinctsAdjacentsSetsNumber( ), esta función tiene sentido si antes se llamo a ComputeBorder( ) y a ClassifyAdjacents( tolerancia ).
Retorna el baricentro de la región, para calcular el baricentro
se requiere una función de "peso", o sea un bicotiPixelWeight<
PixelType
>* , en caso de no pasarse este objeto, por defecto se utiliza
"peso" = 1. El resultado se brinda en una bicotiCoordinate<
REAL
>.