Rust and mediapipe
Go to file
Jules Youngberg e7b7211a1f update readme
2022-06-12 17:00:19 -07:00
examples return specialized structs rather than landmark slices 2022-06-12 10:21:03 -07:00
mediapipe/modules add mediapipe modules to fix examples 2022-06-11 12:25:48 -07:00
src return specialized structs rather than landmark slices 2022-06-12 10:21:03 -07:00
.gitignore code fill 2022-03-01 19:04:01 +07:00
build.rs testing examples - they segfault 2022-06-06 22:41:14 -07:00
Cargo.toml rename 2022-06-12 11:40:45 -07:00
LICENSE Initial commit 2022-02-13 21:36:11 +07:00
README.md update readme 2022-06-12 17:00:19 -07:00

mediapipe-rs

Rust and mediapipe.

Mediapipe is a framework for building AI-powered computer vision and augmented reality applications. It provides high level libraries exposing some of its solutions for common problems. This package makes some of these solutions available in Rust. In order to use it we must build a custom mediapipe C++ library.

requirements

setup

Clone the modified Mediapipe repo:

git clone https://github.com/julesyoungberg/mediapipe.git
cd mediapipe

Build & install the mediagraph library.

mac os

bazel build --define MEDIAPIPE_DISABLE_GPU=1 mediapipe:libmediagraph.dylib
sudo cp bazel-bin/mediapipe/libmediagraph.dylib /usr/local/lib/libmediagraph.dylib
cp mediapipe/mediagraph.h /usr/local/include/mediagraph.h

linux (untested)

bazel build --define MEDIAPIPE_DISABLE_GPU=1 mediapipe:mediagraph
cp bazel-bin/mediapipe/libmediagraph.so /usr/local/lib/libmediagraph.so
cp mediapipe/mediagraph.h /usr/local/include/mediagraph.h

examples

Examples are located in the ./examples directory. Run them with

cargo run --release --example hello

usage

Add the following to your dependencies list in Cargo.toml:

mediapipe = { git = "https://github.com/julesyoungberg/mediapipe-rs" }

Mediapipe relies on tflite files which must be available at ./mediapipe/modules/. The easiest way to do this is

mkdir mediapipe
cp -R ../mediapipe/mediapipe/modules ./mediapipe/modules

The path to mediapipe may be different depending on where you've cloned it.