CommencezCommencez gratuitement

Interpolation

L'interpolation sert à estimer de nouvelles intensités de pixels lorsqu'on applique une transformation d'image. Dans SciPy, elle est mise en œuvre au moyen de jeux de fonctions splines.

Lorsqu'on modifie le paramètre order de l'interpolation avec une fonction comme ndi.zoom(), on change l'estimation obtenue : des ordres plus élevés offrent des estimations plus souples, mais exigent plus de temps de calcul.

Pour cet exercice, suréchantillonnez im et examinez l'effet de différents ordres d'interpolation sur l'image produite.

Cette activité fait partie du cours

Analyse d'images biomédicales en Python

Voir le cours

Instructions de l’exercice

  • Utilisez ndi.zoom() pour suréchantillonner im d'une forme 128, 128 à 512, 512 à deux reprises. D'abord, utilisez un order d'interpolation de 0, puis réglez order à 5.
  • Affichez les formes de tableaux de im et de up0.
  • Tracez des plans rapprochés 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