android中调用onnxruntime框架

创建空白项目

安装Android Studio及创建空白项目参考:【安卓Java原生开发学习记录】一、安卓开发环境的搭建与HelloWorld(详细图文解释)_安卓原生开发-CSDN博客

切记:build configuration language 一定选择Groovy!官方demo中就是选择的这个!

在Android上安装(JAVA/KOTLIN)

下载opencv Android sdk:Releases - OpenCV

点击file->new->Import Module选择解压之后的opencv-android-sdk文件夹中的SDk文件夹,并将:sdk修改为:opencv

修改build.gradle(opencv)

将 apply plugin: 'kotlin-android' 进行注释

添加 namespace "org.opencv"

修改 defaultConfig 里的版本

增加 buildFeatures

buildFeatures {
        aidl  true
        buildConfig  true
    }

buildFeatures放在buildTypes的前边。

应用 OpenCV 库到 APP 

点击file->project structure ->Dependencies->app->3 Module Dependency,然后给opencv打上对勾,应用即可

build.gradle(:app)添加onnx runtime的java库,

     // choose one of the two below:
     implementation 'com.microsoft.onnxruntime:onnxruntime-android:latest.release'  // full package
     //implementation 'com.microsoft.onnxruntime:onnxruntime-mobile:latest.release'  // mobile package

导入java包

代码中的一些注意事项

代码中加载opencv,根据需要在首次使用opencv的类中加载一次。

可能提示找不到对应的*so库,如使用的opencv 4.6.0 提示找不到“libopencv_java460.so”,通过everything发现该库下只有“libopencv_java4.so”,所以需要修改一下Core类

修改:

运行得到onnx模型的结果


参考:

【图文详解】Android Studio(新版本) 配置OpenCV库,解决出现的各种问题 - 知乎

### ONNX Runtime C++ 部署于安卓平台 #### 准备工作 为了在安卓平台上成功部署ONNX Runtime并利用C++进行开发,开发者需先配置好环境。这涉及到安装必要的构建工具链,如Android NDK (Native Development Kit),以及设置CMake来编译适用于不同ABI(Application Binary Interface)的目标文件[^1]。 #### 获取ONNX Runtime源码与依赖项 从官方GitHub仓库下载ONNX Runtime源代码及其相关依赖库对于后续操作至关重要。确保所获取版本兼容目标硬件架构,并遵循README中的指导完成初始化步骤。 #### 编写C++调用接口 创建一个新的C++工程,在其中加入如下所示的基础框架用于加载模型和执行推理: ```cpp #include "onnxruntime/core/session/onnxruntime_cxx_api.h" // ...其他头文件... int main() { Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "Test"); // 加载已转换成.onnx格式的ML模型 const char* model_path = "/path/to/model.onnx"; Ort::SessionOptions session_options; Ort::Session session(env, model_path, session_options); // 初始化输入张量... } ``` 此部分代码展示了如何通过`Ort::Env`类实例化一个运行时环境,并指定日志级别;接着定义了会话对象以读取特定路径下的`.onnx`文件作为待测模型。 #### 构建APK包集成原生模块 借助Gradle插件简化Java/Kotlin层面对JNI的支持,允许直接嵌入由上述过程产生的.so动态链接库至最终的应用程序中。注意调整build.gradle脚本内的externalNativeBuild选项指向正确的cmakeLists.txt位置。 #### 测试验证 最后一步是在真实设备或模拟器环境中测试整个流程是否顺畅无阻。确认能够正确解析传入的数据集并通过图形界面展示预测结果即表明移植顺利完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值