ปรีวิทย์โอเปอเรเตอร์
ตัวดำเนินการ Prewitt ใช้สำหรับการตรวจจับขอบในภาพ ตรวจจับขอบสองประเภท
- ขอบแนวนอน
- ขอบแนวตั้ง
ขอบคำนวณโดยใช้ความแตกต่างระหว่างความเข้มของพิกเซลที่สอดคล้องกันของรูปภาพ มาสก์ทั้งหมดที่ใช้สำหรับการตรวจจับขอบเรียกอีกอย่างว่ามาสก์อนุพันธ์ เนื่องจากตามที่เราได้ระบุไว้หลายครั้งก่อนหน้านี้ในบทเรียนชุดนี้รูปภาพก็เป็นสัญญาณเช่นกันดังนั้นการเปลี่ยนแปลงของสัญญาณจึงสามารถคำนวณได้โดยใช้ความแตกต่างเท่านั้น นั่นคือสาเหตุที่ตัวดำเนินการเหล่านี้เรียกอีกอย่างว่าตัวดำเนินการอนุพันธ์หรือมาสก์อนุพันธ์
มาสก์อนุพันธ์ทั้งหมดควรมีคุณสมบัติดังต่อไปนี้:
- ควรมีเครื่องหมายตรงข้ามอยู่ในหน้ากาก
- ผลรวมของมาสก์ควรเท่ากับศูนย์
- น้ำหนักที่มากขึ้นหมายถึงการตรวจจับขอบที่มากขึ้น
ตัวดำเนินการ Prewitt มีหน้ากากสองอันสำหรับตรวจจับขอบในแนวนอนและอีกอันสำหรับตรวจจับขอบในแนวตั้ง
ทิศทางแนวตั้ง
-1 | 0 | 1 |
-1 | 0 | 1 |
-1 | 0 | 1 |
หน้ากากด้านบนจะพบขอบในแนวตั้งและเป็นเพราะคอลัมน์ศูนย์ในแนวตั้ง เมื่อคุณปรับมาสก์นี้กับรูปภาพมันจะทำให้คุณได้ขอบแนวตั้งในรูปภาพ
มันทำงานอย่างไร
เมื่อเราใช้มาสก์นี้กับรูปภาพจะมีขอบแนวตั้งที่เด่นชัด มันทำงานเหมือนเป็นอนุพันธ์ลำดับแรกและคำนวณความแตกต่างของความเข้มของพิกเซลในพื้นที่ขอบ เนื่องจากคอลัมน์กลางเป็นศูนย์จึงไม่รวมค่าดั้งเดิมของรูปภาพ แต่จะคำนวณความแตกต่างของค่าพิกเซลด้านขวาและด้านซ้ายรอบขอบนั้น สิ่งนี้จะเพิ่มความเข้มของขอบและเพิ่มขึ้นเมื่อเทียบกับภาพต้นฉบับ
ทิศทางแนวนอน
-1 | -1 | -1 |
0 | 0 | 0 |
1 | 1 | 1 |
หน้ากากด้านบนจะพบขอบในแนวนอนและเป็นเพราะคอลัมน์ศูนย์นั้นอยู่ในแนวนอน เมื่อคุณจะปรับมาสก์นี้เข้ากับรูปภาพมันจะมีขอบแนวนอนที่เด่นชัดในภาพ
มันทำงานอย่างไร
มาสก์นี้จะทำให้ขอบแนวนอนเด่นชัดในรูปภาพ นอกจากนี้ยังทำงานบนหลักการของมาสก์ด้านบนและคำนวณความแตกต่างระหว่างความเข้มของพิกเซลของขอบเฉพาะ เนื่องจากแถวกลางของมาสก์ประกอบด้วยเลขศูนย์จึงไม่รวมค่าดั้งเดิมของขอบในภาพ แต่จะคำนวณความแตกต่างของความเข้มพิกเซลด้านบนและด้านล่างของขอบเฉพาะ จึงเพิ่มการเปลี่ยนแปลงอย่างฉับพลันของความรุนแรงและทำให้มองเห็นขอบได้ชัดเจนขึ้น ทั้งสองหน้ากากข้างต้นเป็นไปตามหลักการของมาสก์อนุพันธ์ ทั้งสองมาสก์มีเครื่องหมายตรงข้ามกันและทั้งสองมาสก์ผลรวมเท่ากับศูนย์ เงื่อนไขที่สามจะใช้ไม่ได้ในโอเปอเรเตอร์นี้เนื่องจากทั้งสองมาสก์ข้างต้นเป็นแบบมาตรฐานและเราไม่สามารถเปลี่ยนค่าในตัวดำเนินการได้
ตอนนี้ได้เวลาดูการใช้งานมาสก์เหล่านี้แล้ว:
ภาพตัวอย่าง
ต่อไปนี้เป็นภาพตัวอย่างที่เราจะใช้สองหน้ากากข้างบนพร้อมกัน
หลังจากใช้ Vertical Mask
หลังจากใช้มาสก์แนวตั้งกับภาพตัวอย่างด้านบนแล้วจะได้ภาพต่อไปนี้ ภาพนี้มีขอบแนวตั้ง คุณสามารถตัดสินได้อย่างถูกต้องมากขึ้นโดยเปรียบเทียบกับภาพขอบแนวนอน
หลังจากใช้ Horizontal Mask
หลังจากใช้มาสก์แนวนอนกับภาพตัวอย่างด้านบนแล้วจะได้ภาพต่อไปนี้
การเปรียบเทียบ
ดังที่คุณเห็นว่าในภาพแรกที่เราใช้มาสก์แนวตั้งขอบแนวตั้งทั้งหมดจะมองเห็นได้ชัดเจนกว่าภาพต้นฉบับ ในภาพที่สองเราได้ใช้มาสก์แนวนอนและทำให้มองเห็นขอบแนวนอนทั้งหมด ด้วยวิธีนี้คุณจะเห็นว่าเราสามารถตรวจจับขอบทั้งแนวนอนและแนวตั้งจากรูปภาพได้