-
Notifications
You must be signed in to change notification settings - Fork 0
/
Raw code module.py
52 lines (33 loc) · 1.21 KB
/
Raw code module.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import mediapipe as mp
import cv2
import numpy as np
import time
mpHands = mp.solutions.hands
hands = mpHands.Hands()
mpDraw = mp.solutions.drawing_utils
pTime = 0
cTime = 0
cap = cv2.VideoCapture(0)
while True:
rec , frame = cap.read()
gray_frame = cv2.cvtColor(frame , cv2.COLOR_BGR2RGB)
results = hands.process(gray_frame)
print(results.multi_hand_landmarks)
if results.multi_hand_landmarks:
for multihands in results.multi_hand_landmarks:
for id , lm in enumerate(multihands.landmark):
h , w , c = frame.shape
cx , cy = int(lm.x*w) , int(lm.y*h)
print(id , cx , cy)
if id == 4:
cv2.circle(frame , (cx , cy) , 15 , (255 , 255 , 9) , cv2.FILLED)
mpDraw.draw_landmarks(frame , multihands , mpHands.HAND_CONNECTIONS)
cTime =time.time()
Fps = 1/(cTime - pTime)
pTime = cTime
cv2.putText(frame , str(int(Fps)) , (10 , 40) , cv2.FONT_HERSHEY_COMPLEX , 1 , (0,255 , 0) , 2 )
cv2.imshow("webcam" , frame)
if cv2.waitKey(1) & 0xFF == ord("x"):
break
cap.release()
cv2.destroyAllWindows()