发布于2021-05-29 22:27 阅读(2258) 评论(0) 点赞(20) 收藏(0)
一、
前言和准备见mediapipe教程4,这篇博客开门见山,直接来步骤;
二、在安卓上运行mediapipe的handTracking
参考网址:
步骤:https://google.github.io/mediapipe/getting_started/android_archive_library.html
代码:https://gitee.com/luo_zhi_cheng/mediapipe_multi_hands_tracking_aar_example
实际步骤(与教程4类似):
(1)在路径mediapipe/examples/android/src/java/com/google/mediapipe/apps/build_aar_hand/下新建BUILD文件,并复制下面内容
- load("//mediapipe/java/com/google/mediapipe:mediapipe_aar.bzl", "mediapipe_aar")
-
- mediapipe_aar(
- name = "mediapipe_hand_tracking",
- calculators = ["//mediapipe/graphs/hand_tracking:mobile_calculators"],
- )
(2)生成安卓aar文件(生成的文件在bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/build_aar_hand/目录下),命令:
bazel build -c opt --strip=ALWAYS --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --fat_apk_cpu=arm64-v8a,armeabi-v7a mediapipe/examples/android/src/java/com/google/mediapipe/apps/build_aar_hand:mediapipe_hand_tracking
解释见教程4;
(3)生成Mediapipe的二进制图(生成文件路径为bazel-bin/mediapipe/graphs/hand_tracking/hand_tracking_mobile_gpu.binarypb)
bazel build -c opt mediapipe/graphs/hand_tracking:hand_tracking_mobile_gpu_binary_graph
(4)新建Android Stdio工程,选择“Empty Activity”,这里我的工程名改为:aar_hand1,复制刚刚编译生成的aar文件到Android Stdio工程的app/libs/目录下;
刚刚编译生成的aar文件路径为:bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/build_aar_hand/mediapipe_hand_tracking.aar
(5)复制以下文件到Android Stdio工程的app/src/main/assets/目录下
(具体需要复制什么,见mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/BUILD中的assets)
- bazel-bin/mediapipe/graphs/hand_tracking/hand_tracking_mobile_gpu.binarypb
- mediapipe/modules/hand_landmark:handedness.txt
- mediapipe/modules/hand_landmark:hand_landmark.tflite
- mediapipe/modules/palm_detection:palm_detection.tflite
(6)打开安卓工程的app/build.gradle,修改其中的内容参考教程4;
(7)Android Stdio工程其他文件
1、AndroidManifest.xml,2、activity_main.xml,3、MainActivity.java,4、其他xml文件,如colors\strings\style\themes
复制https://gitee.com/luo_zhi_cheng/mediapipe_multi_hands_tracking_aar_example的相应文件;
然后根据教程4中写的注意事项,简要的修改即可;
(8)编译,运行
结果:在我的破安卓机顶盒上运行起来有点卡,可能是因为硬件性能不行;
运行时,如果检测到手,则会打印landmark的数量和位置,如下图;
作者:黑暗之神
链接:http://www.javaheidong.com/blog/article/207692/ea9e0c0daa0dc6adab43/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!