การอินเทอร์โพเลต
การอินเทอร์โพเลต (Interpolation) คือกระบวนการประมาณค่าความเข้มของพิกเซลใหม่เมื่อมีการแปลงภาพ ใน SciPy ใช้งานผ่านชุดฟังก์ชัน spline
การปรับค่า order ของการอินเทอร์โพเลตเมื่อใช้ฟังก์ชันอย่าง ndi.zoom() จะส่งผลต่อค่าประมาณที่ได้ โดย order ที่สูงขึ้นให้ค่าประมาณที่ยืดหยุ่นกว่า แต่ใช้เวลาคำนวณนานกว่า
ในแบบฝึกหัดนี้ ให้ทำการ upsample im แล้วสังเกตผลของ order การอินเทอร์โพเลตที่แตกต่างกันต่อภาพที่ได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python
คำแนะนำการฝึกหัด
- ใช้
ndi.zoom()เพื่อ upsampleimจาก shape128, 128เป็น512, 512สองครั้ง โดยครั้งแรกใช้orderเป็น 0 จากนั้นตั้งค่าorderเป็น 5 - แสดง shape ของอาร์เรย์
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()