Interpolation bilinéaire
L'interpolation bilinéaire est une méthode d'interpolation pour les fonctions de deux variables sur une grille régulière (en). Elle permet de calculer la valeur d'une fonction en un point quelconque, à partir de ses deux plus proches voisins dans chaque direction. C'est une méthode très utilisée en imagerie numérique pour le redimensionnement d'image, qui permet d'obtenir de meilleurs résultats que l'interpolation par plus proche voisin, tout en restant de complexité raisonnable[1].
Principe général
Contrairement à ce que son nom suggère, la fonction d'interpolation n'est pas une forme linéaire mais quadratique, qui peut se mettre sous la forme :
La valeur f(x,y) est la valeur interpolée au point de coordonnées (x,y), et a, b, c, d sont des constantes déterminées à partir des quatre voisins (x1,y1), (x1,y2), (x2,y1), (x2,y2) du point (x,y) dont on cherche la valeur. Connaissant les valeurs en ces points, on peut écrire un système de 4 équations à 4 inconnues :
L'interpolation bilinéaire peut s'interpréter comme une succession de deux interpolations linéaires, une dans chaque direction.
Solution du système
Un changement de variable permet de simplifier considérablement le système à résoudre. Considérons les nouvelles variables suivantes :
où (x1,y1) sont les coordonnées du coin inférieur gauche. La nouvelle fonction d'interpolation bilinéaire s'écrit alors :
En introduisant les notations et , la matrice à inverser devient :
- .
Il reste à introduire les notations suivantes :
La fonction d'interpolation bilinéaire solution du problème vient alors directement :
Références
- (en) Rafael C. Gonzalez et Richard E. Woods, Digital Image Processing, Pearson Prentice Hall, , « Image sampling and Quantization », p. 66.
Articles connexes
- Portail des mathématiques
- Portail de l’imagerie numérique