Aller au contenu

Interpolation Bilinéaire

Reconstruction d'un pixel non entier

Exercice Intermédiaire · Analyse · prepa scientifique et economique (CPGE)

Enonce

Implémenter interp_bilineaire(img, x, y) où img est une liste de listes (image en niveaux de gris). Renvoyer la valeur interpolée au point continu $(x,y)$.

⚠ Bord : Si $(x,y)$ tombe en dehors de l'image, retourner 0 (pixel noir).

Signature attendue

def interp_bilineaire(img: list, x: float, y: float) -> float:

Exemples

  • interp_bilineaire([[0, 100], [200, 300]], 0.5, 0.5) → 150.0 (moyenne des 4)
  • interp_bilineaire([[0, 100], [200, 300]], 0.0, 0.0) → 0 (coin exact)
  • interp_bilineaire([[0, 100], [200, 300]], 0.0, 1.0) → 0 (hors borne y)

📖 Rappel de cours

Soit une grille discrète $\text{img}[i][j]$ et un point continu $(x,y)$ non entier. L'interpolation bilinéaire reconstruit la valeur en $(x,y)$ par moyenne pondérée des 4 pixels voisins.

Décomposition :

Soit $i = \lfloor x\rfloor$, $j = \lfloor y\rfloor$, $a = x-i$, $b = y-j$. Alors :

$f(x,y) = (1-a)(1-b)\,\text{img}[i][j] + a(1-b)\,\text{img}[i+1][j]$

$+\, (1-a)b\,\text{img}[i][j+1] + a\,b\,\text{img}[i+1][j+1]$

Usage classique : rotation ou zoom d'une image, où la pré-image d'un pixel cible n'est pas un point de la grille source.

← Exercices d'analyse numérique en Python — dichotomie, Newton, intégration

Exercices du meme theme

  • Méthode des Moindres Carrés
  • Méthode de Jacobi
  • Méthode de Romberg
  • Géométrie 3D — Vecteurs
  • Marche Aléatoire 2D
  • Algorithme de Metropolis

La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Essai gratuit
Testez toutes les fonctionnalités sans engagement
En continuant, vous acceptez notre politique de confidentialité.
Déjà abonné ? Se reconnecter
Recevez un lien de connexion par email
Parcourir gratuitement →
Aperçu limité · sans inscription · sans vérification IA
€4,99
/ mois · accès illimité · résiliable
Paiement sécurisé
En vous abonnant, vous acceptez nos conditions et politique de confidentialité.
Résiliation possible depuis votre espace PayPal.

Chargement...

Initialisation de l'environnement

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Progression
0 / 0
Solo
— / —
Python... SQL...
Recherche
🔬 Bac a sable Python ↗ 🧪 Bac a sable SQL ↗ 📝 Concours blanc ↗ 🏖️ Code à la plage ↗ 📚 Listes de rentrée ↗ 🛠️ Admin ↗
Tu aimes PrepaPython ?
Fais-le savoir !
← Retour à l'accueil Mentions legales & confidentialite