ในการตรวจจับใบหน้าด้วย OpenCV กับภาษา Python เราต้องใช้ Cascade Classification เป็นระบบจัดกลุ่มรูปแบบเพื่อใช้ในการตรวจจับวัตถุครับ เนื่องบทความผมจะพาผู้อ่านไปใช้ Cascade Classifier เพื่อทำระบบตรวจจับใบหน้า
เนื่องจาก Cascade Classification จำพวก ตา ใบหน้า ร่างกาย ได้มีคนทำข้อมูล Cascade Classification ไว้แล้ว ผมจึงนำมาใช้เลยครับ
มีคำสั่งที่ควรรู้ดังนี้
cv2.CascadeClassifier(ไฟล์ Cascade Classification)
เป็นคำสั่งสำหรับใช้ดึงข้อมูล Cascade Classification เข้ามา
detectMultiScale()
เป็นคำสั่งสำหรับใช้ตรวจจับวัตถุตามข้อมูลในไฟล์ Cascade Classification
เรามาเขียนโปรแกรมตรวจจับใบหน้าด้วย OpenCV กับภาษา Python กันครับ
ให้ทำการโหลดไฟล์ Cascade Classification ที่ชื่อว่า haarcascade_frontalface_alt2.xml
จาก https://raw.githubusercontent.com/Itseez/opencv/master/data/haarcascades/haarcascade_frontalface_alt2.xml
มาเก็บไว้กับโฟลเลอร์เดียวกันกับไฟล์โค้ด Python ครับ
)
รูปภาพ brothers-457237_1280.jpg

ผลลัพธ์
รูปภาพ Face4.jpg

จะเห็นขอบสีน้ำเงินเป็นส่วนที่ระบบตรวจจับพบครับ
นำมาใช้กับกล้องหรือเว็บแคม
ผลลัพธ์

จะเห็นได้ว่า ระบบจะจับภาพมาประมวลผลแต่ไม่ได้ประมวลผลตลอด ลองนำโค้ดไปแต่งดูนะครับ
เพิ่มเติมเนื้อหา 5/8/58
หากต้องการตรวจจับใบหน้าตลอดเวลาที่รันโค้ดสามารถทำได้โดยการใส่ตัวเลขลงไปแทนเลข 0
[python]cv2.waitKey(0)[/python]
ตัวอย่างโค้ดการตรวจจับใบหน้าตลอดเวลา
ที่มา
http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html
ขอขอบคุณรูปภาพสวย ๆ จากเว็บ pixabay.com ครับ
ปรับปรุงครั้งที่ 1 เพิ่มที่มา 11/6/58
ขอขอบคุณสำหรับคำแนะนำที่สุภาพครับ ความจริงแล้วผมไม่ได้อยากเขียนบทความนี้ต่อครับ แต่เนื่องจากผมอยากรู้และอยากแบ่งปันครับ ขออภัยที่ผิดพลาดไปครับ
Open soure
- php
- wp
- notepad
- mysql
- python 3.4.3
- เว็บแคมธรรมดา ๆ ที่ติดกับโน้ตบุค 2 ล้านพิกเซล
อ่านเอกสารเพิ่มเติมทั้งหมดได้ที่ http://docs.opencv.org
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
+1
ตอบลบรูปหายครับ
ตอบลบ