Вот что я пробовал на данный момент:
- Я использовал mp_drawing.draw_landmarks() для визуализации ориентиров.
- Я изменил mp_drawing.DrawingSpec для изменения цвета и толщины, но при этом по-прежнему используется рендеринг по умолчанию.
Код: Выделить всё
import cv2
import mediapipe as mp
mp_hands = mp.solutions.hands
mp_drawing = mp.solutions.drawing_utils
cap = cv2.VideoCapture(0)
with mp_hands.Hands() as hands:
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
results = hands.process(frame)
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
if results.multi_hand_landmarks:
for hand_landmarks in results.multi_hand_landmarks:
mp_drawing.draw_landmarks(frame, hand_landmarks, mp_hands.HAND_CONNECTIONS)
cv2.imshow("MediaPipe Hands", frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
- Вместо того, чтобы просто рисовать точки, я хочу добавлять собственные фигуры (например, большие круги, квадраты или изображения, например значок звездочки) к конкретным ориентирам, например запястью или кончикам пальцев.
- Как наложить пользовательские фигуры или изображения на определенные ориентиры, обнаруженные MediaPipe?
- Могу ли я полностью пропустить mp_drawing.draw_landmarks() и вручную нарисовать все ориентиры и соединения? Если да, то как лучше всего это сделать?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -mediapipe