Interpolare
Interpolarea este procesul prin care sunt estimate intensitățile noilor pixeli atunci când se aplică o transformare asupra unei imagini. În SciPy, aceasta este implementată folosind seturi de funcții spline.
Modificarea ordinului de interpolare order atunci când folosești o funcție precum ndi.zoom() influențează estimarea rezultată: ordinele mai mari oferă estimări mai flexibile, dar necesită un timp de calcul mai mare.
În acest exercițiu, mărește rezoluția lui im și analizează efectul diferitelor ordine de interpolare asupra imaginii rezultate.
Acest exercițiu face parte din cursul
Analiza imaginilor biomedicale în Python
Instrucțiuni pentru exercițiu
- Folosește
ndi.zoom()pentru a crește rezoluția luiimde la forma128, 128la512, 512de două ori. Mai întâi, folosește unorderde interpolare egal cu 0, apoi seteazăorderla 5. - Afișează formele array-urilor
imșiup0. - Trasează detalii de aproape ale imaginilor. Folosește intervalul de indecși
128:256pe fiecare axă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()