Skip to content

Commit 732681b

Browse files
Create 01. Ai_Trainer.py
1 parent 6650594 commit 732681b

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import cv2
2+
import numpy as np
3+
import time
4+
import PoseModule as pm
5+
cap = cv2.VideoCapture("AiTrainer/curls.mp4")
6+
detector = pm.poseDetector()
7+
count = 0
8+
dir = 0
9+
pTime = 0
10+
while True:
11+
success, img = cap.read()
12+
img = cv2.resize(img, (1280, 720))
13+
# img = cv2.imread("AiTrainer/test.jpg")
14+
img = detector.findPose(img, False)
15+
lmList = detector.findPosition(img, False)
16+
# print(lmList)
17+
if len(lmList) != 0:
18+
# Right Arm
19+
angle = detector.findAngle(img, 12, 14, 16)
20+
# # Left Arm
21+
#angle = detector.findAngle(img, 11, 13, 15,False)
22+
per = np.interp(angle, (210, 310), (0, 100))
23+
bar = np.interp(angle, (220, 310), (650, 100))
24+
# print(angle, per)
25+
# Check for the dumbbell curls
26+
color = (255, 0, 255)
27+
if per == 100:
28+
color = (0, 255, 0)
29+
if dir == 0:
30+
count += 0.5
31+
dir = 1
32+
if per == 0:
33+
color = (0, 255, 0)
34+
if dir == 1:
35+
count += 0.5
36+
dir = 0
37+
print(count)
38+
# Draw Bar
39+
cv2.rectangle(img, (1100, 100), (1175, 650), color, 3)
40+
cv2.rectangle(img, (1100, int(bar)), (1175, 650), color, cv2.FILLED)
41+
cv2.putText(img, f'{int(per)} %', (1100, 75), cv2.FONT_HERSHEY_PLAIN, 4,
42+
color, 4)
43+
# Draw Curl Count
44+
cv2.rectangle(img, (0, 450), (250, 720), (0, 255, 0), cv2.FILLED)
45+
cv2.putText(img, str(int(count)), (45, 670), cv2.FONT_HERSHEY_PLAIN, 15,
46+
(255, 0, 0), 25)
47+
cTime = time.time()
48+
fps = 1 / (cTime - pTime)
49+
pTime = cTime
50+
cv2.putText(img, str(int(fps)), (50, 100), cv2.FONT_HERSHEY_PLAIN, 5,
51+
(255, 0, 0), 5)
52+
cv2.imshow("Image", img)
53+
cv2.waitKey(1)

0 commit comments

Comments
 (0)