Interpolacja
Interpolacja to metoda szacowania intensywności nowych pikseli podczas przekształcania obrazu. W SciPy jest ona realizowana za pomocą zestawów funkcji sklejanych.
Zmiana parametru order interpolacji w funkcjach takich jak ndi.zoom() wpływa na uzyskiwany wynik: wyższe rzędy dają bardziej elastyczne oszacowania, ale wymagają dłuższego czasu obliczeń.
W tym ćwiczeniu zwiększ rozdzielczość obrazu im i sprawdź, jak różne rzędy interpolacji wpływają na wynik.
To ćwiczenie jest częścią kursu
Analiza obrazów biomedycznych w Pythonie
Instrukcje do ćwiczenia
- Użyj
ndi.zoom(), aby dwukrotnie zwiększyć rozdzielczośćimz kształtu128, 128do512, 512. Najpierw zastosuj interpolacjęorderrówną 0, a następnie ustaworderna 5. - Wyświetl kształty tablic
imiup0. - Narysuj powiększenia obrazów. Użyj zakresu indeksów
128:256wzdłuż każdej osi.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()