การ Convolution บนภาพ
การ Convolution ของภาพกับ kernel คือการสรุปส่วนหนึ่งของภาพด้วยผลรวมของการคูณระหว่างส่วนนั้นกับ kernel ในแบบฝึกหัดนี้ จะได้เขียนโค้ดเพื่อดำเนินการ Convolution ของภาพกับ kernel โดยใช้ NumPy โดยกำหนดให้ภาพขาวดำถูกเก็บอยู่ในตัวแปร im ให้เขียนโค้ดภายใน loop เพื่อดำเนินการ Convolution กับ kernel ที่กำหนดให้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลภาพด้วย Keras
คำแนะนำการฝึกหัด
- เลือก window ที่เหมาะสมจากภาพในแต่ละ iteration แล้วคูณส่วนนั้นของภาพกับ kernel
- หาผลรวมที่ได้และนำไปกำหนดค่าให้กับตำแหน่งที่ถูกต้องในอาร์เรย์ผลลัพธ์ (
results)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
kernel = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
result = np.zeros(im.shape)
# Output array
for ii in range(im.shape[0] - 3):
for jj in range(im.shape[1] - 3):
result[ii, jj] = (____[ii:ii+3, jj:____+____] * ____).____
# Print result
print(result)