Na tej stronie dowiesz się, jak skonfigurować środowisko programistyczne do korzystania z zadań MediaPipe w aplikacjach Python.
Obsługiwane platformy i wersje
Tworzenie aplikacji za pomocą zadań MediaPipe wymaga tych zasobów środowiska programistycznego:
- System operacyjny:
- Komputer: Windows, Mac, Linux
- IoT: Raspberry OS 64-bit
- Python: wersja 3.9–3.12
- PIP: wersja 20.3 lub nowsza
Konfigurowanie środowiska programistycznego
Zanim uruchomisz zadanie MediaPipe w aplikacji Python, zainstaluj pakiet MediaPipe.
$ python -m pip install mediapipe
Po zainstalowaniu pakietu zaimportuj go do projektu programistycznego.
import mediapipe as mp
Zależności zadań MediaPipe
Zadania MediaPipe udostępniają 3 wstępnie utworzone biblioteki do obsługi obrazów, tekstu i dźwięku. W zależności od zadania MediaPipe używanego przez aplikację zaimportuj do projektu programistycznego bibliotekę obrazów, tekstu lub dźwięku.
Zadania związane z obrazami
Moduł zadań MediaPipe związanych z obrazami zawiera zadania, które obsługują dane wejściowe w postaci obrazów lub filmów. Aby zaimportować bibliotekę zadań MediaPipe związanych z obrazami, zaimportuj do projektu programistycznego tę zależność.
from mediapipe.tasks.python import vision
Zadania związane z tekstem
Moduł zadań MediaPipe związanych z tekstem zawiera zadania, które obsługują dane wejściowe w postaci ciągów znaków.Aby zaimportować bibliotekę zadań MediaPipe związanych z tekstem, zaimportuj do projektu programistycznego tę zależność.
from mediapipe.tasks.python import text
Zadania związane z dźwiękiem
Moduł zadań MediaPipe związanych z dźwiękiem zawiera zadania, które obsługują dane wejściowe w postaci dźwięku. Aby zaimportować bibliotekę zadań MediaPipe związanych z dźwiękiem, zaimportuj do projektu programistycznego tę zależność.
from mediapipe.tasks.python import audio
Konfiguracja BaseOptions
BaseOptions umożliwiają ogólną konfigurację interfejsów API zadań MediaPipe.
| Nazwa opcji | Opis | Akceptowane wartości |
|---|---|---|
model_asset_buffer |
Zawartość pliku zasobu modelu. | Zawartość modelu jako ciąg bajtów |
model_asset_path |
Ścieżka zasobu modelu, który ma zostać otwarty i zmapowany w pamięci. | Ścieżka pliku jako ciąg znaków |
Pakowanie aplikacji zadań Python za pomocą PyInstaller
Podczas pakowania aplikacji zadań Python za pomocą PyInstaller pliki modeli, takie jak pakiety .task, nie są uwzględniane automatycznie. Jeśli aplikacja używa BaseOptions(model_asset_path=...), uwzględnij plik modelu w pakiecie PyInstaller i rozwiąż jego ścieżkę w czasie działania.
Użyj na przykład pomocnika, który sprawdza katalog sys._MEIPASS PyInstaller:
import os
import sys
def resource_path(relative_path: str) -> str:
base_path = getattr(sys, "_MEIPASS", os.path.abspath("."))
return os.path.join(base_path, relative_path)
Następnie przekaż rozwiązaną ścieżkę modelu do BaseOptions:
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
model_path = resource_path("pose_landmarker.task")
base_options = python.BaseOptions(model_asset_path=model_path)
options = vision.PoseLandmarkerOptions(base_options=base_options)
pose_landmarker = vision.PoseLandmarker.create_from_options(options)
Podczas tworzenia za pomocą PyInstaller spakuj plik modelu i zbierz pliki pakietu MediaPipe:
pyinstaller app.py \
--add-data "pose_landmarker.task:." \
--collect-all mediapipe \
--hidden-import mediapipe.tasks.c
W systemie macOS lub Linux separatorem --add-data jest :. W systemie Windows użyj ;. W przypadku aplikacji na komputery z systemem macOS dodaj --windowed, aby utworzyć pakiet .app:
Rozwiązywanie problemów
Jeśli potrzebujesz pomocy w kwestiach technicznych związanych z MediaPipe, odwiedź grupę dyskusyjną lub Stack Overflow, aby uzyskać pomoc od społeczności. Aby zgłosić błędy lub zaproponować funkcje, utwórz zgłoszenie na GitHub.
Jeśli potrzebujesz pomocy w skonfigurowaniu środowiska programistycznego Python, zapoznaj się z przewodnikiem dla programistów Pythona.