mediapipe教程3:在安卓上运行mediapipe的helloworld
一、前言mediapipe教程2中提到,我最终需要在安卓设备上运行,因此本节开始,我们开始研究mediapipe的安卓相关内容;二、准备(1)我们本节的步骤是在ubuntu下编译出.apk文件,然后连接安卓设备,用adb命令在安卓设备上生成应用程序,再开启使用即可;(2)与mediapipe教程2一样,需要多注意两个重要网址:官网的代码、官网的教程;还有mediapipe的版本、bazel的版本与
一、前言
mediapipe教程2中提到,我最终需要在安卓设备上运行,因此本节开始,我们开始研究mediapipe的安卓相关内容;
二、准备
(1)我们本节的步骤是在ubuntu下编译出.apk文件,然后连接安卓设备,用adb命令在安卓设备上生成应用程序,再开启使用即可;
(2)与mediapipe教程2一样,需要多注意两个重要网址:官网的代码、官网的教程;还有mediapipe的版本、bazel的版本与安装配置、其他库安装都与mediapipe教程2一样;
(3)安装java_runtime、android sdk 28.03以上、ndk版本在18到21之间
###注意,java runtime千万不能用sudo apt-get install openjdk-8-jre-headless命令来安装,我一开始就是这样安装的,结果后面的步骤出现了问题才找到这里;
java runtime安装参考:https://blog.csdn.net/justdoit_potato/article/details/77962670,与查看博客一样,安装jdk1.8即可;
安装完成后使用下面命令查看:
java -version
安卓sdk和ndk的安装使用mediapipe中的脚本即可,但需要安装curl,步骤如下:
sudo apt-get install curl
cd /mediapipe/
sudo chmod 777 -R *
sudo ./setup_android_sdk_and_ndk.sh
#然后配置android sdk和ndk(根据你自己的路径)
sudo chmod 777 -R /home/lzc/Android/
sudo gedit ~/.bashrc
export ANDROID_HOME=$PATH:/home/lzc/Android/Sdk
export ANDROID_NDK_HOME=$PATH:/home/lzc/Android/Sdk/ndk-bundle/android-ndk-r19c
source ~/.bashrc
三、安卓上运行mediapipe的helloworld
允许两种方式编译安卓程序,一种是命令行cmd中,另一种是在Android Stdio中;
我们最终运行的就是官网教程:https://google.github.io/mediapipe/getting_started/hello_world_android.html,这个例子就是在cmd中编译;
我运行的设备是一个安卓的机顶盒,使用数据线直连ubuntu系统,ubuntu桌面出现一个类似手机的图标即表示已连接设备;
(1)编译
你会发现编译时候会一直卡在“Fetching @maven;”过不去,
这个问题参考https://blog.csdn.net/qq_26144863/article/details/115911792
或者https://blog.csdn.net/luozhichengaichenlei/article/details/117264231
bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/basic:helloworld
(2)使用adb命令在安卓系统上生成应用程序
adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/basic/helloworld.apk
(3)运行
在设备的应用程序中找到刚刚生成的程序(Hello World),运行应用程序,该例子为sobel算子边缘检测。
四、其他例子(没有运行起来,也应该运行不起来)
1、hand
(1)编译
bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu
(2)使用adb命令在安卓系统上生成应用程序
adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/handtrackinggpu.apk
(3)运行(注意,这里我没有运行起来,因为原始例子也并不是调用相机检测手部关键点,原始例子详情自己看MainActivity.java中的内容)
2、pose
(1)编译
bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/posetrackinggpu:posetrackinggpu
(2)使用adb命令在安卓系统上生成应用程序
adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/posetrackinggpu/posetrackinggpu.apk
(3)运行(注意,这里我没有运行起来,因为原始例子也并不是调用相机检测手部关键点,原始例子详情自己看MainActivity.java中的内容)
更多推荐
所有评论(0)