最近在做手势相关,需要在windows下配置mediapipe
记录一下踩过的坑
1.vs2019
2.MSYS2
3.bazel
4.OpenCV 3.4.10
参考:官方教程地址
下载地址:https://www.msys2.org/
2.更新
输入命令:
pacman -Syu
结束之后关闭MSYS2即可
3. 重新打卡MSYS2 ,输入:pacman -Su
4.添加MSYS2所在地址到系统环境变量
5. 下载相关依赖
MSYS2 没有内置 unzip,需手动安装。使用 cmd.exe 运行以下命令:
pacman -S git patch unzip
至此,完成了MSYS2配置
关于所使用的Python的版本,meidiapipe并没有严格的规定,按需下载就好。
如果电脑中已经有了Python并不需要重复下载
请读者自行搜索相关教程下载,并配置相关环境变量
选择免费版,无脑下载即可
winsdk下载链接:https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
建议下载3.7.2
下载地址:https://github.com/bazelbuild/bazel/releases
注意:下载完成之后一定要把名字改为:bazel.exe
改完名字之后,添加.exe所在路径到path系统环境变量
验证bazel是否下载并配置成功:打开cmd 输入bazel
出现此界面,为成功
git clone https://github.com/google/mediapipe.git
# Please find the exact paths and version numbers from your local version.
C:\> set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
C:\> set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
C:\> set BAZEL_VC_FULL_VERSION=<Your local VC version>
C:\> set BAZEL_WINSDK_FULL_VERSION=<Your local WinSDK version>
我这里的配置如下:
# Please find the exact paths and version numbers from your local version.
C:\> set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
C:\> set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC
C:\> set BAZEL_VC_FULL_VERSION=14.29.30036
C:\> set BAZEL_WINSDK_FULL_VERSION=10.0.19041.685
vc version哪里找?
winsdk version 哪里找?
查找自己下载的winsdk安装包
至此,完成了Bazel的配置
官网下载opencv3.4.10: https://opencv.org/releases/
记住自己的OpenCV安装路径!
打开meidiapipe目录下的WORKSPACE配置文件
找到 “”windows_opencv”,修改path为本地openCV路径
注意格式!
注意:需改动–action_env ,改为自己本地python.exe所在路径
因为编译过程中会从github上拉取第三方库,部分为google托管,需要科学上网。
否则会报 can’t fetch 的错
编译:
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C://Users//lenovo//AppData//Local//Programs//Python//Python37//python.exe" mediapipe/examples/desktop/hello_world
运行:
set GLOG_logtostderr=1
bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe
编译:
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu
运行:
set 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.pbtxt
本以为编译成功万事大吉了,没想到,开始漫漫debug之路……
第一坑:can’t find file
解决办法:“–”后面多了个空格,删掉即可
第二坑:Can’t find file: mediapipe/modules/palm_detection/palm_detection.tflite
bug原因:
因为我们的运行路径是在hand_teacking.exe文件夹下 当此目录下寻找 相对路径下的palm_detection.tflite无法找到。
解决办法:
在当前目录下 新建mediapipe/modules/palm_detection/ 目录,并把tflite文件拷贝到最底层文件夹下
第三坑:Failed to load OpenH264 library: openh264-1.7.0-win64.dll
解决办法:
根据提示的github网址下载相应版本的动态库,放到当前目录下