L’interpolation bilinéaire est une application successive de plusieurs interpolations linéaires sur
deux variables. Dans notre cas, on cherche le niveau de gris F(G) d’un point G(x, y) inclue dans
un carré formé par quatre pixels A, B, C, D. En effectuant un changement de repère pour simplifier
les calculs, on se ramène à considérer les points A(0, 0), B(1, 0), C(1, 1), D(0, 1) et G(dx, dy) avec
dx = x − Entier(x) et dy = y − Entier(y).
Soient les points M1(dx, 0) et M2(dx, 1). Deux interpolations linéaires sur l’axe des abscisses donnent :
F(M1) = (1 − dx) · F(A) + dx · F(B)
F(M2) = (1 − dx) · F(D) + dx · F(C)
On en déduit F(G) via une interpolation linéaire sur l’axe des ordonnées :
F(G) = (1 − dy) · F(M1) + dy · F(M2)
= F(A) · (1 − dx) · (1 − dy) + F(B) · dx · (1 − dy) + F(C) · dx · dy +
F(D) · (1dx) · dy
Partager