Interpolación bilineal

La interpolación bilineal es un método de interpolación para funciones de dos variables en una cuadrícula regular  ( pulgadas ) . Permite calcular el valor de una función en cualquier punto, a partir de sus dos vecinos más cercanos en cada dirección. Es un método ampliamente utilizado en imágenes digitales para cambiar el tamaño de la imagen , que proporciona mejores resultados que la interpolación del vecino más cercano, sin dejar de tener una complejidad razonable.

Principio general

Al contrario de lo que sugiere su nombre, la función de interpolación no es una forma lineal sino cuadrática, que se puede poner en la forma:

El valor f ( x , y ) es el valor interpolado en el punto de coordenadas ( x , y ) , y a , b , c , d son constantes determinadas a partir de los cuatro vecinos ( x 1 , y 1 ), ( x 1 , y 2 ), ( x 2 , y 1 ), ( x 2 , y 2 ) del punto ( x , y ) cuyo valor estamos buscando. Conociendo los valores en estos puntos, podemos escribir un sistema de 4 ecuaciones con 4 incógnitas  :

La interpolación bilineal se puede interpretar como una sucesión de dos interpolaciones lineales , una en cada dirección.

Solución de sistema

Un cambio de variable simplifica considerablemente el sistema a resolver. Considere las siguientes variables nuevas:

donde ( x 1 , y 1 ) son las coordenadas de la esquina inferior izquierda. A continuación, se escribe la nueva función de interpolación bilineal:

Al introducir las notaciones y , la matriz a invertir se convierte en:

.

Queda por introducir las siguientes notaciones:

La solución de la función de interpolación bilineal del problema viene directamente:

Referencias

  1. (en) Rafael C.González y Richard E. Woods, Procesamiento de imágenes digitales , Prentice Hall,2008, “Muestreo y cuantificación de imágenes”, pág.  66.

Artículos relacionados

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">