Interpolação
A interpolação é como as novas intensidades de pixels são estimadas quando uma transformação de imagem é aplicada. Ela é implementada no SciPy usando conjuntos de funções spline.
Ao editar o parâmetro order de interpolação ao usar uma função como ndi.zoom(), você modifica a estimativa resultante: ordens mais altas fornecem estimativas mais flexíveis, mas levam mais tempo para calcular.
Neste exercício, faça o upsampling de im e investigue o efeito de diferentes ordens de interpolação na imagem resultante.
Este exercicio faz parte do curso
Análise de Imagens Biomédicas em Python
Instruções do exercicio
- Use
ndi.zoom()para fazer upsampling deimde um formato128, 128para512, 512duas vezes. Primeiro, useorderde interpolação igual a 0; depois, definaordercomo 5. - Imprima os formatos (shapes) dos arrays
imeup0. - Plote aproximações das imagens. Use o intervalo de índices
128:256em cada eixo.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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()