CommencerCommencez gratuitement

Interpolation

L'interpolation consiste à estimer de nouvelles intensités de pixels lorsqu'on applique une transformation d'image. Dans SciPy, elle est implémentée à l'aide de familles de fonctions splines.

La modification du paramètre order de l'interpolation lors de l'utilisation d'une fonction comme ndi.zoom() ajuste l'estimation obtenue : des ordres plus élevés offrent des estimations plus souples, mais sont plus coûteux en calcul.

Dans cet exercice, suréchantillonnez im et observez l'effet de différents ordres d'interpolation sur l'image résultante.

Cet exercice fait partie du cours

<cours>Analyse d'images biomédicales en Python</cours>
Voir le cours

Instructions de l’exercice

  • Utilisez ndi.zoom() pour suréchantillonner im d'une forme 128, 128 à 512, 512 à deux reprises. Commencez avec un order d'interpolation de 0, puis définissez order à 5.
  • Affichez les formes des tableaux im et up0.
  • Tracez des agrandissements des images. Utilisez l'intervalle d'indices 128:256 le long de chaque axe.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Upsample "im" by a factor of 4
up0 = ndi.zoom(____, zoom=____, order=____)
up5 = ____

# Print original and new shape
print('Original shape:', ____)
print('Upsampled shape:', ____)

# Plot close-ups of the new images
fig, axes = plt.subplots(1, 2)
axes[0].imshow(up0[128:256, 128:256])
axes[1].imshow(____)
format_and_render_plots()
Modifier et exécuter le code