Интерполяция
Интерполяция — это метод оценки интенсивностей новых пикселей при применении преобразования изображения. В SciPy она реализована с помощью наборов сплайн-функций.
Изменение порядка интерполяции order при использовании такой функции, как ndi.zoom(), влияет на результат: более высокие порядки обеспечивают более гибкие оценки, но требуют больше времени на вычисление.
В этом упражнении выполните повышение дискретизации (upsampling) изображения im и изучите влияние различных порядков интерполяции на результат.
Это упражнение является частью курса
Анализ биомедицинских изображений на Python
Инструкции к упражнению
- Используйте
ndi.zoom(), чтобы дважды выполнить повышение дискретизацииimс размером128, 128до512, 512. Сначала задайте порядок интерполяцииorderравным 0, затем установитеorderравным 5. - Выведите форму массивов
imиup0. - Постройте увеличенные фрагменты изображений. Используйте диапазон индексов
128:256по каждой оси.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()