Clases
bicotiOperatorMultiple
Templates Clases
PixelType
class bicotiOperatorMultiple < class PixelType >
void
Append(
bicotiImageImplementation< PixelType > * )
void
Reset(
unsigned = 0 )
void
Apply(
bicotiPixelOperatorBinary< PixelType > * )
Constructor. No se le pasan parámetros, por lo que luego hay que agregarle las imágenes sobre las cuales operará usando la función Append.
Esta clase tiene una lista de
punteros a imágenes, de forma que aplica el operador a todas y devuelve
el reultado en la primera.
La función Append sirve para agregar nuevas imágenes
a la lista. Por ejemplos si quiero sumar dos imágenes 2D de enteros.
Debo construir el operador y luego agregarlas.
bicotiOperatorMultiple< int > oper;
oper.Append( ptr_ima_1 );
oper.Append( ptr_ima_2 );
Primero agregé un puntero a ima_1, entonces esta será el "acumulador", todos los resultados se escribirán sobre ella.
Obs : Todas las imágenes de la lista deben
tener igual dimensión y tamaño. La primera que agrego define
la dimensión y el tamaño, las demás deben ser compatibles,
de lo contrario la función tira una
exepción
Vacía la lista de punteros
a imágenes, de atrás para adelante dejando tantas como lo
indique la variable leave, que por defecto es 0.
Por lo tanto si hago :
oper.Reset( );
Vacío la lista completamente.
Aplica el operador de pixeles apuntado por ptr_oper a cada par de pixeles correspondientes en la lista y esribe el resultado en la primer imágen.
Por ejmplo si quiero sumar dos imágenes:
Primero creo el operator multiple y agrego las imágenes
:
bicotiOperatorMultiple< int > oper;
oper.Append( ptr_ima_1 );
oper.Append( ptr_ima_2 );
Ahora creo el operador para suma de pixeles :
bicotiPixelOperatorBinary< int
>* ptr_op_pix;
ptr_op_pix = new bicotiPixelOperatorBinaryAddition<
int >;
y sumo :
oper.Apply( ptr_op_pix );