栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

MediaPipe在Ubuntu中的配置环境2

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MediaPipe在Ubuntu中的配置环境2

MediaPipe在Ubuntu中的配置环境1mediapipe在Ubuntu中配置。https://blog.csdn.net/gong0585/article/details/122949537MediaPipe在Ubuntu中的配置环境2https://blog.csdn.net/gong0585/article/details/123292622

接着上篇文章,我们开始配置MediaPipe,在Ubuntu中编译Android代码​​​​​​

1.安装andorid sdk, ndk

执行 setup_android_sdk_and_ndk.sh,安装andorid sdk, ndk,并做好环境变量的配置。

#cd mediapipe  根目录

#sudo apt install curl openjdk-11-jdk g++ unzip zip

#chmod +x ./setup_android_skd_and_ndk.sh

安装命令在setup_android_skd_and_ndk.sh文件里有说明。

老版本是:

#bash  ./setup_android_sdk_and_ndk.sh  ~/Android/Sdk  ~/Android/Ndk    r19c

新版是:

#bash  ./setup_android_sdk_and_ndk.sh  ~/Android/Sdk  ~/Android/Ndk  r21

#vim  ~/.bashrc 最后添加:.bashrc 和 .profile都是环境变量

export ANDROID_HOME=$PATH:/root/Android/Sdk

export ANDROID_NDK_HOME=$PATH:/root/Android/Ndk/android-ndk-r21

#source  ~/.bashrc

  1. 配置WORKSPACE

必须执行了第一步才出现下面的配置项。

#vi  /home/medipapi/WORKSPACE

1.修改SDK和NDK的路径

# You may run setup_android.sh to install Android SDK and NDK.

android_ndk_repository(

    name = "androidndk",

    path = "/root/Android/Ndk/android-ndk-r21",

)

android_sdk_repository(

    name = "androidsdk",

    path = "/root/Android/Sdk",

)

# iOS basic build deps.

2.修改maven的下载仓库,repositories 替换下面的内容,google自己带的国内没法用:

    repositories = [

        "https://maven.google.com",

        "https://dl.google.com/dl/android/maven2",

        "https://repo1.maven.org/maven2",

        "https://jcenter.bintray.com",

],

替换为

    repositories =

    [

        "https://maven.aliyun.com/repository/google",

        "https://maven.aliyun.com/repository/central",

        "https://maven.aliyun.com/repository/public",

],

在gradle中加入aliyun

#vi /home/mediapipe/mediapipe/examples/android/solutions/build.gradle

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'http://maven.aliyun.com/repository/public' }
    }
}

使用Opencv-3.4.3镜像地址sourceforge,github的地址太慢。

http_archive(

    name = "android_opencv",

    build_file = "@//third_party:opencv_android.BUILD",

    strip_prefix = "OpenCV-android-sdk",

    type = "zip",

#    url = "https://github.com/opencv/opencv/releases/download/3.4.3/opencv-3.4.3-android-sdk.zip",

url="https://udomain.dl.sourceforge.net/project/opencvlibrary/opencv-android/3.4.3/opencv-3.4.3-android-sdk.zip",

)

  1. 安装python环境

#sudo apt-get install python3-setuptools

执行

#python setup.py install

这里依据你的andorid sdk安装目录做调整,我是用sudo 安装的,默认安装到了root账号下,

以上环境配置好,可以尝试编译,android aar包,

首先,mediapipemediapipeexamplesandroidsrcjavacomgooglemediapipeapps目录下,创建build_aar文件夹,里面新建文件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"],

)

#load("//mediapipe/java/com/google/mediapipe:mediapipe_aar.bzl", "mediapipe_aar")

#

#mediapipe_aar(

#    name = "mediapipe_instant_motion_tracking",

#    calculators = ["//mediapipe/graphs/instant_motion_tracking:instant_motion_tracking_deps"],

#)

这里是编手势检测的aar包,使用的模型是mediapipemediapipegraphshand_tracking,

如果要编译别的,参考mediapipemediapipegraphs下的模型,修改BUILD文件,

然后,执行命令:

#bazel build -c opt --strip=ALWAYS --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --fat_apk_cpu=arm64-v8a,armeabi-v7a --action_env PYTHON_BIN_PATH="usr/bin/python3" mediapipe/examples/android/src/java/com/google/mediapipe/apps/build_aar:mediapipe_hand_tracking.aar

需要提示的是,这里要指定python的路径, --action_env PYTHON_BIN_PATH=“usr/bin/python3” 不然编译会报Repository command failed。

编译成功,你将看到如下输出信息:

编译项目下的所有的Android例子apps

#./build_android_examples.sh -d out_dir --nostrip

省略到-d生成的APK将在当前目录。

打包handtrackinggpu

#bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu

打包posetrackinggpu

#bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/posetrackinggpu:posetrackinggpu

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号