01204483 Image Processing — Topic 05, Edge Detection

Window Scanning — Smoothing, Edge, LoG/DoG

เลือกรูป → เลือก filter (window ที่เลื่อนสแกนทั้งภาพ) → เทียบภาพก่อน/หลัง — แล้วเอาเมาส์ไปชี้บนรูปต้นฉบับ จะเห็นค่าพิกเซลจริงรอบจุดนั้นเป็นตาราง 5×5 ทั้งก่อนและหลังกรอง พร้อมการคำนวณ kernel × พิกเซล ทีละช่องของตำแหน่งนั้น

Filter ทุกตัวทำงานแบบเดียวกัน: เลื่อน window (kernel) ไปทีละพิกเซลทั่วภาพ แต่ละตำแหน่งคูณค่าพิกเซลรอบ ๆ กับตัวเลขใน kernel แล้วบวกกัน

Smoothing (Average, Gaussian) ใช้ kernel ที่บวกกันแล้วรวมเป็น 1 — ผลคือค่าเฉลี่ยถ่วงน้ำหนัก ภาพเบลอลง noise ลดลง

Edge operator (Prewitt, Sobel, Roberts) ใช้ kernel ที่บวกกันได้ 0 — ฝั่ง ลบ กับฝั่ง บวก หักล้างกันบนพื้นเรียบ แต่ตัดกันแรงตรงขอบภาพ ลองเลือกทิศต่าง ๆ ดูว่าตอบสนองกับขอบแนวไหนแรงสุด

LoG/DoG คือ "หา edge แบบไม่สนทิศทาง" — เบลอด้วย Gaussian ก่อนแล้วค่อยหาอนุพันธ์อันดับสอง (หรือลบ Gaussian สองระดับ) ทนต่อ noise กว่าอนุพันธ์อันดับหนึ่งตรง ๆ

เอาเมาส์ชี้บนรูปต้นฉบับด้านล่าง — ช่องที่มีกรอบไฮไลต์ในตาราง 5×5 คือพิกเซลที่ kernel ปัจจุบันใช้จริง ตัวเลขเล็ก ๆ มุมช่องคือน้ำหนัก kernel ของช่องนั้น

1 · เลือกรูปต้นฉบับ

ประมวลผลที่ความละเอียด 200×150 พิกเซล (ย่อจากไฟล์ที่อัปโหลด) เพื่อให้คำนวณสดได้ทุกครั้งที่เปลี่ยน filter

Noise เติมบนภาพต้นฉบับ (base) ทุกครั้งที่ปรับพารามิเตอร์ — ไม่ทบทวี (ไม่ใช่เติมซ้ำบนภาพที่มี noise อยู่แล้ว) เพื่อให้เทียบผลของ filter การลด noise แต่ละแบบได้ตรง ๆ

2 · เลือก Filter

Kernel ของตัวเลือกนี้:

3 · เทียบภาพก่อน/หลัง — เอาเมาส์ชี้บนรูปต้นฉบับ

ต้นฉบับ (grayscale)

หลังผ่าน Filter

4 · รายละเอียดที่ตำแหน่งเมาส์

เอาเมาส์ไปชี้บนรูปต้นฉบับด้านบน เพื่อดูค่าพิกเซลและการคำนวณตรงตำแหน่งนั้น

ตำแหน่ง —

ต้นฉบับ 5×5 (ช่องไฮไลต์ = ใช้จริงใน kernel นี้)

หลัง Filter 5×5 (ค่าจริงก่อน clip)

การคำนวณที่ตำแหน่งกึ่งกลาง