144 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| layout: default
 | |
| title: MediaPipe in Python
 | |
| parent: Getting Started
 | |
| has_children: true
 | |
| has_toc: false
 | |
| nav_order: 3
 | |
| ---
 | |
| 
 | |
| # MediaPipe in Python
 | |
| {: .no_toc }
 | |
| 
 | |
| 1. TOC
 | |
| {:toc}
 | |
| ---
 | |
| 
 | |
| ## Ready-to-use Python Solutions
 | |
| 
 | |
| MediaPipe offers ready-to-use yet customizable Python solutions as a prebuilt
 | |
| Python package. MediaPipe Python package is available on
 | |
| [PyPI](https://pypi.org/project/mediapipe/) for Linux, macOS and Windows.
 | |
| 
 | |
| You can, for instance, activate a Python virtual environment:
 | |
| 
 | |
| ```bash
 | |
| $ python3 -m venv mp_env && source mp_env/bin/activate
 | |
| ```
 | |
| 
 | |
| Install MediaPipe Python package and start Python interpreter:
 | |
| 
 | |
| ```bash
 | |
| (mp_env)$ pip install mediapipe
 | |
| (mp_env)$ python3
 | |
| ```
 | |
| 
 | |
| In Python interpreter, import the package and start using one of the solutions:
 | |
| 
 | |
| ```python
 | |
| import mediapipe as mp
 | |
| mp_face_mesh = mp.solutions.face_mesh
 | |
| ```
 | |
| 
 | |
| Tip: Use command `deactivate` to later exit the Python virtual environment.
 | |
| 
 | |
| To learn more about configuration options and usage examples, please find
 | |
| details in each solution via the links below:
 | |
| 
 | |
| *   [MediaPipe Face Detection](../solutions/face_detection#python-solution-api)
 | |
| *   [MediaPipe Face Mesh](../solutions/face_mesh#python-solution-api)
 | |
| *   [MediaPipe Hands](../solutions/hands#python-solution-api)
 | |
| *   [MediaPipe Holistic](../solutions/holistic#python-solution-api)
 | |
| *   [MediaPipe Objectron](../solutions/objectron#python-solution-api)
 | |
| *   [MediaPipe Pose](../solutions/pose#python-solution-api)
 | |
| *   [MediaPipe Selfie Segmentation](../solutions/selfie_segmentation#python-solution-api)
 | |
| 
 | |
| ## MediaPipe on Google Colab
 | |
| 
 | |
| *   [MediaPipe Face Detection Colab](https://mediapipe.page.link/face_detection_py_colab)
 | |
| *   [MediaPipe Face Mesh Colab](https://mediapipe.page.link/face_mesh_py_colab)
 | |
| *   [MediaPipe Hands Colab](https://mediapipe.page.link/hands_py_colab)
 | |
| *   [MediaPipe Holistic Colab](https://mediapipe.page.link/holistic_py_colab)
 | |
| *   [MediaPipe Objectron Colab](https://mediapipe.page.link/objectron_py_colab)
 | |
| *   [MediaPipe Pose Colab](https://mediapipe.page.link/pose_py_colab)
 | |
| *   [MediaPipe Pose Classification Colab (Basic)](https://mediapipe.page.link/pose_classification_basic)
 | |
| *   [MediaPipe Pose Classification Colab (Extended)](https://mediapipe.page.link/pose_classification_extended)
 | |
| *   [MediaPipe Selfie Segmentation Colab](https://mediapipe.page.link/selfie_segmentation_py_colab)
 | |
| 
 | |
| ## MediaPipe Python Framework
 | |
| 
 | |
| The ready-to-use solutions are built upon the MediaPipe Python framework, which
 | |
| can be used by advanced users to run their own MediaPipe graphs in Python.
 | |
| Please see [here](./python_framework.md) for more info.
 | |
| 
 | |
| ## Building MediaPipe Python Package
 | |
| 
 | |
| Follow the steps below only if you have local changes and need to build the
 | |
| Python package from source. Otherwise, we strongly encourage our users to simply
 | |
| run `pip install mediapipe` to use the ready-to-use solutions, more convenient
 | |
| and much faster.
 | |
| 
 | |
| MediaPipe PyPI currently doesn't provide aarch64 Python wheel
 | |
| files. For building and using MediaPipe Python on aarch64 Linux systems such as
 | |
| Nvidia Jetson and Raspberry Pi, please read
 | |
| [here](https://github.com/jiuqiant/mediapipe-python-aarch64).
 | |
| 
 | |
| 1.  Make sure that Bazel and OpenCV are correctly installed and configured for
 | |
|     MediaPipe. Please see [Installation](./install.md) for how to setup Bazel
 | |
|     and OpenCV for MediaPipe on Linux and macOS.
 | |
| 
 | |
| 2.  Install the following dependencies.
 | |
| 
 | |
|     Debian or Ubuntu:
 | |
| 
 | |
|     ```bash
 | |
|     $ sudo apt install python3-dev
 | |
|     $ sudo apt install python3-venv
 | |
|     $ sudo apt install -y protobuf-compiler
 | |
| 
 | |
|     # If you need to build opencv from source.
 | |
|     $ sudo apt install cmake
 | |
|     ```
 | |
| 
 | |
|     macOS:
 | |
| 
 | |
|     ```bash
 | |
|     $ brew install protobuf
 | |
| 
 | |
|     # If you need to build opencv from source.
 | |
|     $ brew install cmake
 | |
|     ```
 | |
| 
 | |
|     Windows:
 | |
| 
 | |
|     Download the latest protoc win64 zip from
 | |
|     [the Protobuf GitHub repo](https://github.com/protocolbuffers/protobuf/releases),
 | |
|     unzip the file, and copy the protoc.exe executable to a preferred location.
 | |
|     Please ensure that location is added into the Path environment variable.
 | |
| 
 | |
| 3.  Activate a Python virtual environment.
 | |
| 
 | |
|     ```bash
 | |
|     $ python3 -m venv mp_env && source mp_env/bin/activate
 | |
|     ```
 | |
| 
 | |
| 4.  In the virtual environment, go to the MediaPipe repo directory.
 | |
| 
 | |
| 5.  Install the required Python packages.
 | |
| 
 | |
|     ```bash
 | |
|     (mp_env)mediapipe$ pip3 install -r requirements.txt
 | |
|     ```
 | |
| 
 | |
| 6.  Build and install MediaPipe package.
 | |
| 
 | |
|     ```bash
 | |
|     (mp_env)mediapipe$ python3 setup.py install --link-opencv
 | |
|     ```
 | |
| 
 | |
|     or
 | |
| 
 | |
|     ```bash
 | |
|     (mp_env)mediapipe$ python3 setup.py bdist_wheel
 | |
|     ```
 |