เขียนโดย
Sirasit Boonklang – BorntoDev Co., Ltd.
🔥 OpenCV คืออะไร ?!
OpenCV คือไลบรารีโอเพ่นซอร์สที่นิยมสำหรับการประมวลผลภาพขั้นพื้นฐาน เช่น การเบลอภาพ การผสมภาพ การเพิ่มคุณภาพของภาพ เพิ่มคุณภาพของวิดีโอ การรู้จำวัตถุต่าง ๆ ในภาพ หรือ การตรวจจับใบหน้าหรือวัตถุต่าง ๆ ในภาพและวิดีโอได้
แล้วขั้นตอนการทำ Cat Detection ด้วย OpenCV ทำยังไงล่ะ ?!
1. เนื่องจากเราจะใช้ภาษา Python ในการทำโปรแกรมตรวจจับใบหน้าน้องแมว เราจะต้องทำการดาวน์โหลดและติดตั้ง Python ในเครื่องก่อนซะนะครับ สามารถดาวน์โหลด Python ได้ที่ Download Python | Python.org
2. เมื่อทำการดาวน์โหลดมาแล้วให้ทำการเปิดไฟล์ที่ดาวน์โหลดมา แล้วติ้กเลือก Install launcher for all users และ Add Python 3.9 to PATH แล้วกด Install Now
3. รอสักครู่ Python กำลังทำการติดตั้งลงบนเครื่องของเรา
4. เมื่อติดตั้งเสร็จให้ทำการเปิด cmd ขึ้นมาแล้วพิมพ์คำว่า python แล้วกด enter หากติดตั้งสำเร็จ จะแสดงข้อมูล python ที่ใช้งานอยู่ตามด้วยเลขเวอร์ชั่นดังรูปด้านล่าง แล้วให้ทำการกด ctrl + z แล้ว Enter เพื่อออก
5. ทำการติดตั้ง opencv โดยพิมพ์คำสั่ง pip install opencv-python แล้วกด enter
6. ไปยังเว็บ Releases – OpenCV เพื่อดาวน์โหลดซอร์สโค้ดตัวอย่างของ OpenCV มายังเครื่องของเรา
7. เมื่อดาวน์โหลดเสร็จเรียบร้อยแล้วให้เราทำการแตกไฟล์ให้เรียบร้อย
8. หลังจากนั้นเปิด Visual Studio Code เปิดโฟลเดอร์ชื่อ opencv-4.5.3\samples\python
และเปิดไฟล์ facedetect.py ขึ้นมา
9. แล้วทำการทดสอบรันโปรแกรม โดยกดปุ่มสามเหลี่ยมด้านบนทางขวามือ จะพบว่าเป็นโปรแกรมตรวจจับภาพใบหน้าของเรา
แล้วเราจะทำอย่างไรให้ตรวจจับใบหน้าน้องแมวได้ล่ะ ?!
10. ให้ไปที่ฟังก์ชั่น main() เปลี่ยนจาก data/haarcascades/haarcascade_frontalface.xml เป็น data/haarcascades/haarcascade_frontalcatface.xml
11. ไฟล์ haarcascade_frontalcatface.xml คือไฟล์ที่ผ่านการเทรนใบหน้าแมวมาแล้ว ส่วนเดิมไฟล์ haarcascade_frontalface.xml จะเป็นไฟล์ที่มาจากการเทรนใบหน้าคน เราสามารถเปลี่ยนตรงโปรแกรมก็จะสามารถตรวจจับใบหน้าน้องแมวได้ง่าย ๆ เลย 😊
แค่นี้ก็สามารถทำให้โปรแกรมตรวจจับใบหน้าน้องเหมียวได้แล้ว ซึ่งเราสามารถนำโปรแกรมนี้ไปต่อยอดได้อีกมากมาย เช่น การตั้งกล้องดูน้องแมว เมื่อเจอน้องเดินมาก็ให้ทำการส่งภาพไปยังไลน์เราได้อีกด้วยนะ ทำยังไงไปดูกัน 🚀
ส่งรูปที่ทำการตรวจจับได้ไปยังไลน์
12. ไปยัง Line Notify https://notify-bot.line.me/th/
13. เข้าสู่ระบบด้วยบัญชีของ Line แล้วไปที่ My page
14. ไปที่ Generate access token แล้วกดปุ่ม Generate token
15. เลือกกลุ่มที่จะให้ Line Notify จะไปแจ้งเตือนเมื่อเจอน้องเหมียว 🐱
16. เพิ่มโค้ดส่วนติดต่อกับไลน์ และ นำโทเค็นที่ได้มาไปใส่ในโค้ด
URL_LINE = 'https://notify-api.line.me/api/notify' LINE_ACCESS_TOKEN = 'ใส่โทเค็นตรงนี้' LINE_HEADERS = {'Content-Type':'application/x-www-form-urlencoded',"Authorization":"Bearer "+LINE_ACCESS_TOKEN}
17. เพิ่มโค้ดส่วนส่งภาพที่โปรแกรมทำการตรวจจับใบหน้าน้องเหมียวส่งไปยังไลน์
file_img = {'imageFile': open('img0.png', 'rb')} msg = ({'message': 'พบเจ้าเหมียว'}) LINE_HEADERS = {"Authorization":"Bearer "+LINE_ACCESS_TOKEN} session = requests.Session() session_post = session.post(URL_LINE, headers=LINE_HEADERS, files=file_img, data=msg) cv.imwrite('img' + '.png', vis )
18. แล้วทำการกดรันอีกครั้ง โปรแกรมก็จะทำการตรวจจับภาพใบหน้าน้องเหมียวแล้วทำการส่งรูปไปยังไลน์ได้แล้ว เย้ 🐱🎉