ubuntu上编译mediapipe
时间: 2025-01-31 16:35:15 浏览: 42
### 编译 MediaPipe 源码
#### 安装必要的依赖项
为了成功编译 MediaPipe,在 Ubuntu 上需先安装一系列开发工具和库:
```bash
sudo apt-get update && sudo apt-get install -y \
build-essential \
openjdk-11-jdk \
python3-dev \
python3-pip \
zip \
unzip \
pkg-config \
meson \
ninja-build \
libgl1-mesa-dev \
libgles2-mesa-dev \
libegl1-mesa-dev \
libusb-1.0-0-dev \
cmake[^2]
```
这些命令会确保系统拥有构建 MediaPipe 所必需的基础组件。
#### 设置 Python 环境并安装 pip 包
创建虚拟环境有助于隔离项目所需的 Python 库版本,防止与其他项目的冲突。接着通过 `pip` 来安装特定版本的包来满足 MediaPipe 的需求:
```bash
python3 -m venv mp_venv
source mp_venv/bin/activate
pip install --upgrade pip wheel setuptools
pip install mediapipe==0.8.9 opencv-python-headless numpy protobuf
```
注意这里指定了 `mediapipe` 版本号以匹配官方支持的状态[^1]。
#### 获取源代码仓库
克隆 MediaPipe Git 仓库到本地机器上以便于后续操作:
```bash
git clone https://github.com/google/mediapipe.git
cd mediapipe
```
这一步骤获取了最新版的 MediaPipe 源文件用于自定义修改或深入研究其内部机制。
#### 配置 Bazel 构建工具
MediaPipe 使用 Google 开发的 Bazel 作为主要构建系统。按照如下方式设置 Bazel 并验证安装情况:
```bash
echo "build --action_env PYTHON_BIN_PATH=\"$(which python)\"" >> ~/.bazelrc
bazel version
```
确认输出显示的是已正确安装的 Bazel 版本信息。
#### 编译 Hello World 示例程序
完成上述准备工作之后可以尝试编译简单的例子检验整个流程是否顺畅无误:
不启用 GPU 加速的情况下执行以下指令:
```bash
export GLOG_logtostderr=1
bazel build --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hello_world:hello_world
./bazel-bin/mediapipe/examples/desktop/hello_world/hello_world
```
如果硬件条件允许并且想要利用 GPU 提升性能,则应采用下列方法代替:
```bash
export GLOG_logtostderr=1
bazel build --copt=-DMESA_EGL_NO_X11_HEADERS --copt=-DEGL_NO_X11 mediapipe/examples/desktop/hello_world:hello_world
./bazel-bin/mediapipe/examples/desktop/hello_world/hello_world
```
以上过程涵盖了从准备阶段直到最终运行 HelloWorld 实例所需的关键步骤[^3]。
阅读全文
相关推荐

















