bicotiImagePixelInterpolator2DLinear

bicotiImagePixelInterpolator2D
bicotiImagePixelInterpolator2DLinear
bicotiImagePixelInterpolator2DLagrange

bicotiImagePixelInterpolator3D
bicotiImagePixelInterpolator3DLinear
bicotiImagePixelInterpolator3DLagrange


class bicotiImagePixelInterpolator2DLinear< class PixelType,
                                                                 class PrecisionType =PixelType >



Comentarios Generales :

    El template en PrecisionType es un tipo de pixel adecuado para obtener una buena precisión numérica, sin el costo de que la imagen a interpolar sea de este tipo ( PrecisionType ), que por lo general es mas costoso en terminos de memoria a utilizar. Es RESPONSABILIDAD DEL USUARIO contemplar este hecho y elegir un tipo adecuado de precisión numérica.

Por ejemplo si tenemos una bicotiImageImplementation2DArray< unsigned char > uno puede utilizar un bicotiImagePixelInterpolator2DLinear< unsigned char >, como existe un default template
PrecisionType = PixelType en este caso, pero la precisión lograda será pobre y el resultado será inservible. Pero si se utiliza un interpolador del tipo
bicotiImagePixelInterpolator2DLinear< unsigned char, float >, como internamente la cuentas se hacen con float se logra una mejor precisión y el resultado tiene mas sentido. Observar que no hace falta que la imagen sea de float, si no fuera así uno necesitaría tres veces mas memoria para guardar la imagen en float en ves de unsigned char.

Si esta interesando en conocer mas sobre PrecisionType ir a Restricciones de Pixels y Criterios de Diseño.

Breve explicación del algoritmo matemático:

Dado un punto ( x , y ) a interpolar ( punto rojo en la imagen ), me quedo con los tres puntos mas ceranos a este( en este caso los puntos 0,1,3 ), construyo el plano por estos puntos( plano amarillo ) y luego intersecto con el plano.




Public Methods

void bicotiImagePixelInterpolator2DLinear( bicotiImageImplementation2D< PixelType > * = NULL  )

PixelType operator( ) ( bicotiCoordinate< REAL > & )



void bicotiImagePixelInterpolator2DLinear( bicotiImageImplementation2D< PixelType > *
                                                                                                                                        = NULL  )

    Constructor del objeto, recibe como parámetros la imagen referencia.



PixelType operator( ) ( bicotiCoordinate< REAL > & )

     Dado un punto, uno obtiene el "valor de pixel" interpolado usando este operador.



Vease la especificación detallada de cada clase en :