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
Instructions de l’exercice
- Utilisez
ndi.zoom()pour suréchantillonnerimd'une forme128, 128à512, 512à deux reprises. D'abord, utilisez unorderd'interpolation de 0, puis réglezorderà 5. - Affichez les formes de tableaux de
imet deup0. - Tracez des plans rapprochés des images. Utilisez l'intervalle d'indices
128:256le 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()