11 มิถุนายน 2558

Published มิถุนายน 11, 2558 by with 2 comments

ทำระบบตรวจจับใบหน้าด้วย OpenCV กับภาษา Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปทำระบบตรวจจับใบหน้าด้วย OpenCV กับภาษา Python แบบง่าย ๆ กันครับ


ในการตรวจจับใบหน้าด้วย OpenCV กับภาษา Python เราต้องใช้ Cascade Classification เป็นระบบจัดกลุ่มรูปแบบเพื่อใช้ในการตรวจจับวัตถุครับ เนื่องบทความผมจะพาผู้อ่านไปใช้ Cascade Classifier เพื่อทำระบบตรวจจับใบหน้า
ยังไม่ได้พาสร้าง Cascade Classification ครับ (พับโครงการ)

เนื่องจาก 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

รูปภาพ brothers-457237_1280.jpg

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

ทำระบบตรวจจับใบหน้าด้วย OpenCV กับภาษา Python

จะเห็นขอบสีน้ำเงินเป็นส่วนที่ระบบตรวจจับพบครับ

นำมาใช้กับกล้องหรือเว็บแคม
ผลลัพธ์

ทำระบบตรวจจับใบหน้าจากกล้องหรือเว็บแคมด้วย OpenCV กับภาษา Python

จะเห็นได้ว่า ระบบจะจับภาพมาประมวลผลแต่ไม่ได้ประมวลผลตลอด ลองนำโค้ดไปแต่งดูนะครับ




เพิ่มเติมเนื้อหา 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

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

2 ความคิดเห็น:

แสดงความคิดเห็นได้ครับ :)