Interpolación bilineal
La interpolación bilineal es una extensión de la interpolación lineal para interpolar funciones de dos variables (por ejemplo, e ) en una malla regular de dos dimensiones.
La idea principal es realizar una interpolación lineal en una dirección, y después en la otra. Aunque cada uno de estos pasos es lineal, la interpolación en su conjunto no es lineal sino cuadrática.
Algoritmo
Supóngase que se quiere encontrar el valor para la función f desconocida en el punto P = (x, y). Conocemos el valor de f en los cuatro puntos Q11 = (x1, y1), Q12 = (x1, y2), Q21 = (x2, y1) y Q22 = (x2, y2).
Primero se hace una interpolación lineal en la dirección x. Esto genera:
donde ,
donde
Después se hace una interpolación en la dirección y:
Esto proporciona una estimación de f(x, y).
Hay que tener en cuenta que se obtienen los mismos resultados si la interpolación se hace primero en la dirección y y después en la dirección x.
Cuadrado unidad
Si se escoge un sistema de coordenadas en los cuales los cuatro puntos donde f es conocido sean (0, 0), (0, 1), (1, 0) y (1, 1), entonces la fórmula de interpolación se simplifica notablemente a:
O equivalentemente, en forma matricial:
No-linealidad
Contrariamente a lo que el nombre pudiera sugerir, la interpolación bilineal no es lineal, ya que de hecho es el producto de dos funciones lineales (y, por tanto, no lineal):
Alternativamente, la interpolación puede escribirse como:
donde
En ambos casos, el número de constantes (cuatro) se corresponde con el número de datos en los que se conoce f. La interpolación lineal a lo largo de líneas paralelas al eje o al eje , equivalentmente si o se toma como constante. A lo largo de cualquier otra línea recta, la interpolación resulta una función cuadrática.
Debe notarse, sin embargo, que aunque la interpolación no es lineal en la posición (x e y), es lineal en amplitud, como puede verse a partir de las ecuaciones anteriores: todos los coeficientes bj, j=1..4 son proporcionales al valor de la función f(,).
El resultado de una interpolación bilineal es independiente del orden (aquí orden significa qué eje se interpola primero y cual el segundo. Si se realizara primero una interpolación lineal en sobre el eje y y luego sobre el eje x, la aproximación resultante es la misma.
Existe una extensión obvia de la interpolación lineal a tres dimensiones denominada interpolación trilineal.
Aplicación en el procesado de imágenes
En la visión artificial y en el procesamiento digital de imágenes, la interpolación bilineal es una técnica básica de remuestreo.