Skip to content

การตรวจจับมือ ​

การประกาศอินสแตนซ์ ​

เมื่อเพิ่มบล็อกการตรวจจับมือ (HandDetection) ลงในพื้นที่ทำงาน การประกาศอินสแตนซ์ต่อไปนี้จะถูกแทรกลงในโค้ด Python โดยอัตโนมัติ:

python
hand_detection = HandDetection(0)
# กรณีที่มีหลายอินสแตนซ์
hand_detection_1 = HandDetection(1)

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
indexตัวเลือกดรอปดาวน์หมายเลขอินสแตนซ์ (เริ่มจาก 0)จำนวนเต็ม 0 ขึ้นไป0

เลือกอุปกรณ์กล้อง ​

ตั้งกล้องที่จะใช้ตรวจจับมือ

device

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
unitตัวเลือกดรอปดาวน์ชื่ออุปกรณ์กล้องป้ายชื่อกล้องของระบบ-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.device('')

โหลดโมเดล ​

โหลดโมเดลมือที่ผ่านการเรียนรู้แล้ว การใช้ฟังก์ชันต่าง ๆ ของโมดูล 'การตรวจจับมือ' จำเป็นต้องทำขั้นตอนนี้ก่อนเสมอ

load_model

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
waitช่องทำเครื่องหมายรอจนโหลดเสร็จสิ้นหรือไม่TRUE / FALSETRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.load_model(wait=True)

ตั้งจำนวนมือสูงสุด ​

กำหนดว่าจะตรวจจับมือโดยยึดมือข้างเดียวหรือสองมือ

max_hands

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
unitตัวเลือกดรอปดาวน์จำนวนมือมือข้างเดียว(one), สองมือ(both)-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.max_hands('one')
hand_detection.max_hands('both')

ตรวจจับหนึ่งครั้ง ​

ค้นหามือที่อยู่บนหน้าจอปัจจุบัน แล้วแสดงผลเพียงครั้งเดียว

detect_once

พารามิเตอร์ ​

(ไม่มี)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detect_once()

เริ่ม / หยุดการตรวจจับต่อเนื่อง ​

ติดตามมือที่อยู่บนหน้าจอปัจจุบันอย่างต่อเนื่อง และแสดงผลบนหน้าจอ

detect_continuous

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
unitตัวเลือกดรอปดาวน์การทำงานเริ่ม(start), หยุด(stop)-

Python ​

python
hand_detection = HandDetection(0)

# unit = "start"
hand_detection.detect_continuous()
# unit = "stop"
hand_detection.stop()

แสดงผลลัพธ์การตรวจจับ ​

กำหนดว่าจะแสดงผลการตรวจจับมือบนหน้าจอกล้องหรือไม่

display

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
onตัวเลือกดรอปดาวน์เปิด / ปิดการแสดงผลแสดง(on=True), ซ่อน(off=False)TRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.display(True)
hand_detection.display(False)

พิกัดของส่วนต่าง ๆ ของมือ ​

คืนค่าข้อมูลตำแหน่งฝ่ามือ/ข้อมือของมือที่กำหนด

hand_data

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
sideตัวเลือกดรอปดาวน์ข้างของมือซ้าย(left), ขวา(right)-
unitตัวเลือกดรอปดาวน์ส่วนของมือฝ่ามือ(palm), ข้อมือ(wrist)-
posตัวเลือกดรอปดาวน์ชนิดของพิกัด/ขนาดx, y-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.hand('left', 'palm', 'x')
hand_detection.hand('right', 'wrist', 'y')
hand_detection.hand('left', 'hand', 'min_x')
hand_detection.hand('right', 'palm', 'width')

พิกัดข้อนิ้ว ​

คืนค่าพิกัดข้อของนิ้วที่กำหนด

joint_data

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
sideตัวเลือกดรอปดาวน์ข้างของมือซ้าย(left), ขวา(right)-
unitตัวเลือกดรอปดาวน์นิ้วนิ้วโป้ง(thumb), นิ้วชี้(index), นิ้วกลาง(middle), นิ้วนาง(ring), นิ้วก้อย(pinky)-
jointตัวเลือกดรอปดาวน์ตำแหน่งข้อนิ้วข้อนิ้วแรก(first), ข้อนิ้วที่สอง(second), ข้อนิ้วที่สาม(third), ปลายนิ้ว(last)-
posตัวเลือกดรอปดาวน์พิกัดx, y-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.finger('left', 'index', 'first', 'x')
hand_detection.finger('right', 'thumb', 'last', 'y')

ข้อมูลกรอบสี่เหลี่ยมของมือ ​

คืนค่าตำแหน่ง/ขนาดของกรอบสี่เหลี่ยมรอบพื้นที่มือที่กำหนด

hand_square

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
sideตัวเลือกดรอปดาวน์ข้างของมือซ้าย(left), ขวา(right)-
unitตัวเลือกดรอปดาวน์ส่วนของมือมือ(hand), ฝ่ามือ(palm)-
posตัวเลือกดรอปดาวน์ข้อมูลกรอบสี่เหลี่ยมตำแหน่ง x ต่ำสุด(min_x), ตำแหน่ง x สูงสุด(max_x), ตำแหน่ง y ต่ำสุด(min_y), ตำแหน่ง y สูงสุด(max_y), ความกว้าง(width), ความสูง(height), พื้นที่(area)-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.hand('left', 'hand', 'min_x')
hand_detection.hand('right', 'palm', 'width')

ระยะห่างระหว่างมือกับมือ ​

คืนค่าระยะห่างระหว่างสองส่วนของมือ

hand_to_hand_distance

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
unit1ค่าป้อนเข้า (ข้อความ)ส่วนของมือที่หนึ่งมือ: 'side_unit' (เช่น 'left_palm') side=left/right, unit=palm/wrist/hand-
unit2ค่าป้อนเข้า (ข้อความ)ส่วนของมือที่สองมือ: 'side_unit' (เช่น 'right_palm') side=left/right, unit=palm/wrist/hand-
typeตัวเลือกดรอปดาวน์ชนิดของระยะห่างระยะห่าง(ละไว้ หรือ None), ระยะห่างแนวนอน(horizontal), ระยะห่างแนวตั้ง(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# มือ ↔ มือ / ระยะห่าง
hand_detection.get_distance('left_palm', 'right_palm')

ระยะห่างระหว่างมือกับนิ้ว ​

คืนค่าระยะห่างระหว่างส่วนของมือกับข้อนิ้ว

hand_to_joint_distance

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
unit1ค่าป้อนเข้า (ข้อความ)ส่วนที่หนึ่งมือ: 'side_unit' (เช่น 'left_palm') side=left/right, unit=palm/wrist/hand-
unit2ค่าป้อนเข้า (ข้อความ)ส่วนที่สองนิ้ว: 'side_unit_joint' (เช่น 'right_index_first') unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeตัวเลือกดรอปดาวน์ชนิดของระยะห่างระยะห่าง(ละไว้ หรือ None), ระยะห่างแนวนอน(horizontal), ระยะห่างแนวตั้ง(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# มือ ↔ ข้อนิ้ว / ระยะห่างแนวนอน
hand_detection.get_distance('left_palm', 'right_index_first')

ระยะห่างระหว่างนิ้วกับนิ้ว ​

คืนค่าระยะห่างระหว่างข้อนิ้วสองข้อ

joint_to_joint_distance

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
unit1ค่าป้อนเข้า (ข้อความ)ส่วนที่หนึ่งนิ้ว: 'side_unit_joint' (เช่น 'left_thumb_last') unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
unit2ค่าป้อนเข้า (ข้อความ)ส่วนที่สองนิ้ว: 'side_unit_joint' (เช่น 'right_index_first') unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeตัวเลือกดรอปดาวน์ชนิดของระยะห่างระยะห่าง(ละไว้ หรือ None), ระยะห่างแนวนอน(horizontal), ระยะห่างแนวตั้ง(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# ข้อนิ้ว ↔ ข้อนิ้ว / ระยะห่างแนวตั้ง
hand_detection.get_distance('left_thumb_last', 'right_index_first', 'vertical')

สถานะโมเดล ​

คืนสถานะการโหลดโมเดลมือ
คืนค่า 0 ถ้ายังไม่ได้โหลด, 1 ถ้ากำลังโหลด, และ 2 ถ้าโหลดเสร็จแล้ว

model_state

พารามิเตอร์ ​

(ไม่มี)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.model_state()

ตรวจพบมือหรือไม่ ​

พบมือหรือไม่

detected

พารามิเตอร์ ​

(ไม่มี)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detected()