شما میتونین به راحتی فقط با پایتون و اپن سوی وی انجامش بدی
حتی اگه چیزی از برنامه نویسی نمیدونی هم اشکال نداره تا اخر بیا
برای اینکار شما به سه تا کتابخونه نیاز داری اوپن سی وی و تایم وی مدیا پایپ
import cv2 import mediapipe as mp import time
ما از کتابخونه مدیا پایپ استفاده میکنیم تا بتونیم مدل handtracking رو ایجاد کنیم که خیلی کاربرها داره
شما میتونین به صورت ماژول بنویسینش
cap = cv2.VideoCapture("vid1.mp4")
mpHands = mp.solutions.hands
hands = mpHands.Hands()
mpDraw = mp.solutions.drawing_utils
cTime = 0
pTime = 0# Function Start
اینجا میایم مدلمون رو انتخاب میکنیم ار مدیا پایپ
while True:
success, img = cap.read()
imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
results = hands.process(imgRGB)
#print(results.multi_hand_landmarks)
if results.multi_hand_landmarks:
for handlms in results.multi_hand_landmarks:
for id, lm in enumerate(handlms.landmark):
h, w, c = img.shape
cx, cy = int(lm.x*w), int(lm.y*h)
print(id, cx, cy)
cv2.circle(img, (cx, cy), 8, (0, 0, 0), cv2.FILLED)
mpDraw.draw_landmarks(img, handlms, mpHands.HAND_CONNECTIONS)
cTime = time.time()
fps = 1/(cTime-pTime)
pTime = cTime
cv2.putText(img, str(int(fps)), (10,70), cv2.FONT_HERSHEY_SIMPLEX, 3, (0,0,0), 3)
cv2.imshow("Image", img)
cv2.waitKey(1)
اینجا هم بقیه کد که واسه ایجاد برنامه استفاده میکنیم
توضیح نمیدم خودتون حالا میتونی برین دنبالش
مدل دستمون بخش های مختلفی داره که میبینین میتونید ار تمام بخش های دستمون اسنفاده کنین
که برناممون رو باشون بنویسیم که بهش میگن لند مارک
از این روش میشه خیلی جاها استفاده کردن
در پهپاد ها در دوربینا خلاصه هرجا که فکرشو بکنین با همین چهار خط کد:)
یه ویدیو هم میزارم که اونجا قشنگ بهتون به صورت واقعی نشون بدم توضیحات بیشتری میدم
سختمه نوشتن
کد برنامه رو میتونین از لینک زیر دانلود کنید
https://github.com/samanbraa1/handtr
واینک ادرس ویدیو اپارات میتونین برین نگاه کنین
https://aparat.com/v/1pRce
اگه دلتون خواست بهم بگین بازم بزارم یا با توضیح بیشتری انجامش بدیم ازصفر شروع کنیم