【MediaPipe】Windows10上的C++编译 手部关节点等功能预测和运行

工程完整的介绍:https://google.github.io/mediapipe/
工程github链接:https://github.com/google/mediapipe
环境配置在https://google.github.io/mediapipe/getting_started/install

该库实现功能如下,并提供多平台多语言的使用代码,可以完成相关效果的测试
在这里插入图片描述


这里我需要在Windows10系统中编译mediapipe的C++工程。官方写的操作流程比较简单,这里记录下自己完整的配置过程。前两天新搞了个windows系统,电脑环境比较原始,只装了anaconda。
整体自己安装过程比较顺畅。其实该编译过程,主要是在电脑上安装的基础软件或者库比较多,真正mediapipe工程的某一个功能的编译,一条长命令即可。

本机环境:

  • Windows10
    msys2-x86_64-20220603
    anaconda 的base环境(python3.9.12+tensorflow2.9.1)
    VS2019
    bazel-5.2.0-windows-x86_64
    opencv-3.4.10-vc14_vc15
    mediapipe-master(此时master为v0.8.10.2)

1 MSYS2


1.1 下载

下载链接:https://www.msys2.org/在这里插入图片描述


1.2 安装

  • 1 双击下载的文件默认安装。我这里选择默认的安装路径安装【C:\msys64】
    在这里插入图片描述
  • 2 系统环境变量设置
    需要将【C:\msys64\usr\bin】添加到系统环境变量中。注意确定路径是自己安装的路径
    在这里插入图片描述
    在这里插入图片描述
  • 3 升级msys2包数据库、基础数据库
    打开 MSYS2
    在这里插入图片描述
    输入命令【pacman -Syu
    在这里插入图片描述
    输入命令【pacman -Su
    在这里插入图片描述
  • 4 安装必要包 unzip
    输入命令【 pacman -S git patch unzip
    在这里插入图片描述

2 Python


2.1 安装python环境

  • 方式1:直接安装python
  • 方式2:anaconda的base的环境
    因为我电脑安装了anaconda,所以就直接使用了anconda 的base的Python环境,当前我的版本为3.9.12。注意anaconda要添加环境变量。
    此时base环境下只缺TensorFlow, 当前默认安装TensorFlow的版本为tensorflow2.9.1。
    打开终端cmd.exe运行如下命令:
    conda activate base
    pip install tensorflow

2.2 验证安装环境

终端中python环境下,输入以下命令:

python
import six
import numpy 
import tensorflow   ## 成功导入tensorflow环境
exit()

3 安装VS2019 和 WinSDK


3.1 下载

VS 官网:https://visualstudio.microsoft.com/zh-hans/free-developer-offers/
下载免费的社区版即可。官网直接点进去是VS2022,但我还是下载了VS2019使用。下载旧版本需要登录账号。
在这里插入图片描述
往下拉到底端
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.2 安装

安装时一定要勾选如下两项。
一个会安装 windows software development kit;一个会安装cl.exe。后面配置和编译过程中会使用
在这里插入图片描述

4 Bazel


4.1 下载并安装

下载链接:https://github.com/bazelbuild/bazel/releases
在这里插入图片描述
下载后,将【bazel-5.2.0-windows-x86_64.exe】修改为【bazel.exe】,方便后面的使用。
我为了集中测试Mediapipe,所以将所有的相关文件都放在同一个路径下,这里我将【bazel.exe】放在【E:\MediaPipe】,并将该路径添加到系统环境变量中
在这里插入图片描述
完整后,重新打开个终端cmd,输入命令【bazel version】确保正确配置成功
在这里插入图片描述


4.2 设置Bazel 变量

打开MSYS2(注意不是cmd.exe),依次输入下面的命令(要根据自己电脑的环境具体修改)。
注意:这里路径的括号需要进行转义。

set BAZEL_VS=C:\Program Files \(x86\)\Microsoft Visual Studio\2019\Community
set BAZEL_VC=C:\Program Files \(x86\)\Microsoft Visual Studio\2019\Community\VC
set BAZEL_VC_FULL_VERSION=14.29.30036
set BAZEL_WINSDK_FULL_VERSION=10.0.19041.685

其中:
【C:\Program Files (x86)\Microsoft Visual Studio】是自己的VS2019 的安装路径
【14.29.30036】是【C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC】路径下的一个文件夹名
在这里插入图片描述
【10.0.19041.685】是【windows software development kit】的信息,
在这里插入图片描述

5 OpenCV 下载

官方说明当前使用的OpenCV 3.4.10,为了避免出现库不兼容的问题,遵循官方文档。
下载链接:https://opencv.org/releases/
在这里插入图片描述
下载后直接双击,选择路径进行解压。我这里直接解压到【E:\MediaPipe】路径。这里不需要设置系统环境变量。

6 Mediapipe 工程编译


6.1 工程下载与设置

工程下载:git clone https://github.com/google/mediapipe.git
或者直接到guthub下直接下载工程
在这里插入图片描述
然后将OpenCV的路径修改到工程中:【工程根路径下的WORKSPACE】文件中,搜索【windows_opencv】,将【path】替换成自己的OpenCV的路径 并保存。
在这里插入图片描述


6.2 编译hellow world

windows上编译需要添加python的环境,--action_env PYTHON_BIN_PATH="C://path//to//python.exe"
那么如何查看自己的python安装路径呢,因为我这里使用的是anaconda,所以直接在cmd终端输入【conda list】,可以直接查看到conda的安装路径。
在这里插入图片描述

  • windows 编译的命令:
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env  PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/hello_world
    
    编译成功如下图:
    在这里插入图片描述
  • 运行hellow world
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe
    
    运行成功如下图:
    在这里插入图片描述

6.3 编译官网提供的手指关节点检测、人脸检测等

  • hand_tracking
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\hand_tracking\hand_tracking_cpu.exe --calculator_graph_config_file=mediapipe\graphs\hand_tracking\hand_tracking_desktop_live.pbtxt
    
  • face_detection
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/face_detection:face_detection_cpu
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\face_detection\face_detection_cpu.exe --calculator_graph_config_file=mediapipe\graphs\face_detection\face_detection_desktop_live.pbtxt
    
  • object_detection
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/object_detection:object_detection_cpu
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\object_detection\object_detection_cpu.exe --calculator_graph_config_file=mediapipe\graphs\object_detection\object_detection_desktop_live.pbtxt
    
  • object_tracking
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/object_tracking:object_tracking_cpu
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\object_tracking\object_tracking_cpu.exe --calculator_graph_config_file=mediapipe\graphs\tracking\object_detection_tracking_desktop_live.pbtxt
    
  • iris_tracking
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/iris_tracking:iris_tracking_cpu
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\iris_tracking\iris_tracking_cpu.exe --calculator_graph_config_file=mediapipe\graphs\iris_tracking\iris_tracking_cpu.pbtxt
    
  • hair_segmentation
    bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\ProgramData\\Anaconda3\\python.exe" mediapipe/examples/desktop/hair_segmentation:hair_segmentation_cpu
    set GLOG_logtostderr=1
    bazel-bin\mediapipe\examples\desktop\hair_segmentation\hair_segmentation_cpu.exe --calculator_graph_config_file=mediapipe\graphs\hair_segmentation\hair_segmentation_desktop_live.pbtxt
    

参考链接:Mediapipe - Windows10 编译Mediapipe C++版本保姆级教程

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值