Please follow instructions below to build C++ command-line example apps with MediaPipe Framework. To learn more about these example apps, start from Hello World! in C++.
Building C++ command-line example apps
Option 1: Running on CPU
To build, for example, the C++ example app of the legacy MediaPipe Hand Detection solution with CPU, run:
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hand_tracking:hand_tracking_cpuTo run the application:
GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/hand_tracking/hand_tracking_cpu \ --calculator_graph_config_file=mediapipe/graphs/hand_tracking/hand_tracking_desktop_live.pbtxtThis will open up your webcam as long as it is connected and on. Any errors is likely due to your webcam being not accessible.
Option 2: Running on GPU
For Linux
First follow OpenGL ES Setup on Linux Desktop.
To build, for example, MediaPipe Hands, run:
bazel build -c opt --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11 \ mediapipe/examples/desktop/hand_tracking:hand_tracking_gpu
For macOS
- To build, for example, MediaPipe Hands, run:
bash bazel build -c opt \ --copt=-DMEDIAPIPE_METAL_ENABLED=1 \ --copt=-DMEDIAPIPE_DISABLE_GPU=0 \ --copt=-DMEDIAPIPE_GPU_BUFFER_USE_CV_PIXEL_BUFFER=1 \ --copt=-DOSX_ENABLE_3_2_CORE \ mediapipe/examples/desktop/hand_tracking:hand_tracking_gpu
Running the application
To run the application:
GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/hand_tracking/hand_tracking_gpu \ --calculator_graph_config_file=mediapipe/graphs/hand_tracking/hand_tracking_desktop_live_gpu.pbtxtThis will open up your webcam as long as it is connected and on. Any errors is likely due to your webcam being not accessible, or GPU drivers not setup properly.