macos系统编译MediaPipe并打包单个算法为ios的framework--以PoseTracking为例(2)

接上篇 macos系统编译MediaPipe并打包单个算法为ios的framework–以PoseTracking为例(1)

上篇已经配置好了Mediapip运行环境,这篇讲解如何使用Tulsi.app把Mediapipe转成Xcode项目

使用Tulsi转换Mediapipe为Xcode项目

一、使用Tulsi.app打开MediaPipe.tulsiproj

  • 点击Tulsi.app的Open existing project
    请添加图片描述

二、查看并解决报错

1、错误1:bazel版本错误

请添加图片描述

  • 已知homebrew已下载了bazelisk和bazel,其中bazelisk更新了版本为6.2.1,bazel版本为5.3.2请添加图片描述
  • 先bazel --version查看本机bazel版本,已知是bazel 6.2.1(这里是bazelisk更新的bazel可执行版本)
  • 而Tulsi.app显示bazel还是使用的是以前的5.3.2版本,这是由于之前还是link了旧的bazel版本
  • 查看mediapipe文件夹下的.bazelversion文件,版本最低要求6.1.1 (查看~./mediapipe-0.10.14/.bazelversion),此时bazelisk管理的6.2.1已经满足bazel版本了,所以可以直接用。
  • 把Tulsi.app使用的bazel5.3.2改为至少6.1.1及以上版本,即bazelisk管理的版本
  • 我们直接选择bazelisk的可执行文件,选择后自动编译,编译成功,无报错。
 ~ % bazel --version
bazel 6.2.1

请添加图片描述

错误2:bazel编译成功,但是点击Generate后项目生成失败: Failed to create Xcode project.请添加图片描述

弹窗错误

  • 这里说项目生成失败,我们仔细看报错信息,是由于项目环境没有配置好。
  • 报错信息里有一句话: /Users/用户名/mediapipe-0.10.14/mediapipe/examples/ios/bundle_id.bzl 这个环境配置文件有错误
  • 我们打开这个文件,修改框出来的地方:BUNDLE_ID_PREFIX = “com.mediapipe.examples”,重新点击“Generate”,这个报错就解决了。请添加图片描述
  • 此类 Failed to create Xcode project的报错,都可以通过查看错误信息提示来解决。类似错误详情报错 No module named ‘numpy’,则需要homebrew安装numby库等。

错误3:无法解析标签

  • 刚才的问题解决后,重新点击Generate按钮,报错这个弹窗
    请添加图片描述
解决办法:
  • 找到 mediapipe文件夹下的MediaPipe.tulsiproj ,右击显示包内容,找到 Configs/MediaPipe.tulsigen,使用文本编辑打开MediaPipe.tulsigen。

请添加图片描述


在每个 buildTargets 路径之前输入 @。

"buildTargets" : [
"@//mediapipe/examples/ios/facedetectioncpu:FaceDetectionCpuApp",
"@//mediapipe/examples/ios/facedetectiongpu:FaceDetectionGpuApp",
"@//mediapipe/examples/ios/faceeffect:FaceEffectApp",
“@//mediapipe/examples/ios/facemeshgpu:FaceMeshGpuApp”,
“@//mediapipe/examples/ios/handdetectiongpu:HandDetectionGpuApp”,
“@//mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp”,
“@//mediapipe /examples/ios/helloworld:HelloWorldApp",
"@//mediapipe/examples/ios/holistictrackinggpu:HolisticTrackingGpuApp", "
@//mediapipe/examples/ios/iristrackinggpu:IrisTrackingGpuApp",
"@//mediapipe/examples/ios/物体检测CPU:对象检测CpuApp",
“@//mediapipe/examples/ios/objectdetectiongpu:ObjectDetectionGpuApp”,
“@//mediapipe/examples/ios/objectdetectiontrackinggpu:ObjectDetectionTrackingGpuApp”,
“@//mediapipe/examples/ios/posetrackinggpu:PoseTrackingGpuApp”,
“@
  • 重新点击Generate按钮,Xcode项目生成成功。

请添加图片描述

错误4(补充):Generate按钮灰色不能点击

  • 这是由于前面没有使用终端执行helloworld程序导致的(具体看前一篇
  • cd到mediapipe文件夹,重新执行bazel run --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hello_world:hello_world,执行成功即环境配置成功,Generate按钮即变蓝可点击。
  • 其实就是执行成功后,会在电脑上生成一个路径:/private/var/tmp/_bazel_用户名,里面会有一些配置项,如果你删除了_bazel_用户名这个文件夹,再重新执行上条语句则会重新下载配置环境并生成这个文件夹。

结束语

  • 至此,Mediapipe的Xcode项目已生成成功。
  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值