Interpolazione
L'interpolazione è il modo in cui si stimano le nuove intensità dei pixel quando si applica una trasformazione all'immagine. In SciPy è implementata usando insiemi di funzioni spline.
Modificando il parametro order dell'interpolazione quando usi una funzione come ndi.zoom(), cambia anche la stima risultante: ordini più alti forniscono stime più flessibili ma richiedono più tempo di calcolo.
In questo esercizio, esegui l'upsampling di im ed esplora l'effetto di diversi ordini di interpolazione sull'immagine risultante.
Questo esercizio fa parte del corso
Analisi di immagini biomediche in Python
Istruzioni dell'esercizio
- Usa
ndi.zoom()per fare l'upsampling diimda una forma128, 128a512, 512due volte. Prima usa unorderdi interpolazione pari a 0, poi impostaordera 5. - Stampa le forme degli array di
imeup0. - Traccia degli zoom delle immagini. Usa l'intervallo di indici
128:256lungo ciascun asse.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()