9-Fakrizz / HandTracking_OpenCV

📕 265-271101 - Robotics & AI Engineering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hello I'm on it!! 📚็

OpenCV Hand Tracking 🦾👁 ความสามารถ: 1.สามารถตรวสอบว่านิ้วมือนิ้วไหนกำลังยกอยู่ 2.สามารถนับจำนวนนิ้วมือที่ยกอยู่ได้ 3.ตรวจจับมือได้ทีละข้าง

ข้อจำกัด: 1.ไม่สามารถตรวจจับมือมากกว่า 1 ข้างได้ 2.ไม่สามารถหันข้างมือได้ เพราะจะไม่เห็นนิ้วที่เรียงอยู่แนวลึก 3.ไม่สามารถตรวจมือที่แนวระนาบนิ้วชี้เข้าหากล้องได้

หลักการทำงาน: หลักการที่สำคัญของ Source Code นี้คือ การเปรียบเทียบค่าระยะห่างโดยการประยุกต์ใช้ความรู้เรื่อง 2D Vector Mathematics โดยข้อดีของการใช้ความรู้ดังกล่าวคือ โปรแกรมจะสามารถตรวจสอบมือที่พลิกหรือเอียงไปมาได้ โดยหลักๆจะแบ่งออกเป็น 2 ส่วนคือ

-[ส่วนนิ้วโป้ง] จะใช้การหาระยะมาเทียบกันระหว่าง ระยะจากปลายนิ้วโป้ง(4) ถึง โคนนิ้วก้อย(17) จะเรียกว่า ระยะที่ t1 ระยะจากกลางนิ้วโป้ง(3) ถึง โคนนิ้วก้อย(17) จะเรียกว่า ระยะที่ t0 เรานำระยะที่ 1 กับ 0 มาเปรียบเทียบกัน โดยให้นึกภาพตามว่า เมื่อนิ้วโป้งหุบระยะที่ t1 จะน้อยกว่า ระยะที่ t0 และเมื่อนิ้วโป้งกางออก ระยะที่ t1 จะมากกว่าระยะที่ t0

-[ส่วนนิ้วที่เหลืออีก 4 นิ้ว] จะใช้การหาระยะมาเทียบกันระหว่าง ระยะจากปลายนิ้วแต่ละนิ้ว(8, 12, 16, 20) ถึงอุ้งมือ(0) เรียกเป็นระยะที่ 1 ระยะจากกลางนิ้วแต่ละนิ้ว(6, 10, 14, 18) ถึงอุ้งมือ(0) เรียกเป็นระยะที่ 0 เมื่อนิ้วหดจะสังเกตว่าระยะ 1 จะน้อยกว่า 0 และนิ้วกางออกจะสังเกตว่า 1 จะมากกว่า 0

เมื่อได้เงื่อนไขทั้งหมดดังนี้ จะนำไปเก็บไว้ใน arrays และแสดง arrays พร้อมกับจำนวน

อ้างอิงโดย: นาย ศุภกฤต ก๋องคำ ID: 650610858 faculty of engineering, cmu

About

📕 265-271101 - Robotics & AI Engineering


Languages

Language:Python 100.0%