Python Mediapipe PoseLandmarker.detect_async отказывается подтвердить timestamp_msPython

Программы на Python
Ответить
Anonymous
 Python Mediapipe PoseLandmarker.detect_async отказывается подтвердить timestamp_ms

Сообщение Anonymous »

Я возился с моделью оценки позы в реальном времени на Python, используя mediapipe и opencv, вот где я на данный момент:

Код: Выделить всё

import cv2
import mediapipe as mp
import numpy as np
from mediapipe.tasks import python

mp_drawing = mp.tasks.vision.drawing_utils
mp_pose = mp.tasks.vision.PoseLandmarker
mp_pose_options = mp.tasks.vision.PoseLandmarkerOptions
PoseLandmarkerResult = mp.tasks.vision.PoseLandmarkerResult
VisionRunningMode = mp.tasks.vision.RunningMode

def print_result(result: PoseLandmarkerResult, output_image: mp.Image, timestamp_ms: int):
print('pose landmarker result: {}'.format(result))

options = mp_pose_options(
base_options = python.BaseOptions(model_asset_path='pose_landmarker_lite.task'),
running_mode=VisionRunningMode.LIVE_STREAM,
result_callback=print_result
)

# VIDEO FEED
cap = cv2.VideoCapture(0)
start_time = cv2.getTickCount()
with mp_pose.create_from_options(options) as pose:
while cap.isOpened():

ret, frame = cap.read()
frame_timestamp_ms = int((cv2.getTickCount() - start_time) * 1000 / cv2.getTickFrequency())
print("Timestamp: ", frame_timestamp_ms)
cv2.imshow('Mediapipe Feed', frame)

mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=frame)

mp_pose.detect_async(mp_image, frame_timestamp_ms)

if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Я продолжаю получать ту же ошибку, она продолжает говорить, что я не предоставляю аргумент timestamp_ms для mp_pose.detect() в строке 34, но он должен быть предоставлен с помощью Frame_timestamp_ms. Я не уверен, что использую правильный способ получения правильной отметки времени, но какое бы значение я ни пробовал, оно, похоже, не регистрируется. Вот какая ошибка, которую я получаю:

Код: Выделить всё

Timestamp:  476
Traceback (most recent call last):
File "C:\Users\zoeyv\Downloads\RhythmKO_pose_estimation\testing1.py", line 34, in 
mp_pose.detect_async(mp_image, frame_timestamp_ms)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: PoseLandmarker.detect_async() missing 1 required positional argument: 'timestamp_ms'
Я следил за этим руководством: https://ai.google.dev/edge/mediapipe/so ... ive-stream , но я здесь в тупике, буду признателен за любую помощь!


Подробнее здесь: https://stackoverflow.com/questions/798 ... mestamp-ms
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»