Я создаю простое приложение для отслеживания рук с использованием AI, используя MediaPipe и OpenCV на Python.
Программа считывает кадры с веб-камеры, обрабатывает их с помощью MediaPipe Hands и рисует ориентиры рук на экране.
Однако я заметил, что FPS иногда падает примерно до 15–20 FPS, что делает отслеживание менее плавным. Я хотел бы понять, есть ли способы повысить производительность при использовании MediaPipe с OpenCV.
Моя среда:
- Python 3.10
- MediaPipe
- OpenCV
Вот упрощенная версия моего кода:
import cv2
import mediapipe as mp
mp_hands = mp.solutions.hands
hands = mp_hands.Hands()
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
results = hands.process(image)
if results.multi_hand_landmarks:
for hand_landmarks in results.multi_hand_landmarks:
mp.solutions.drawing_utils.draw_landmarks(
frame, hand_landmarks, mp_hands.HAND_CONNECTIONS
)
cv2.imshow("Hand Tracking", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break