android studio接入yolov5 rknn模型

我采取的android studio版本为2022.1.1,跟版本可能关系不大(猜测,没有实际切换过)
但是跟NDK版本21和Cmake3.10版本有很大关系,我们稍后会说到。

备注:采用设备
瑞芯微rk3588

需要准备
yolov5 rknn模型 需要自己用过cmake生成,cmake版本3.10

以及对应C++代码,在此链接中获取
https://github.com/airockchip/rknn_model_zoo/tree/main/examples/yolov5
在这里插入图片描述
开发板需要与显示器连接

1 、
下载android studio
https://developer.android.google.cn/studio/archive
在这里插入图片描述
2、下载好android studio之后,我们需要下载一个安卓yolov5案例
https://pan.baidu.com/disk/main?at=1723774719041#/index?category=all&path=%2Fandroid%2Fyolov5%2Fyolov5%E6%A1%88%E4%BE%8B%E9%A1%B9%E7%9B%AE

3、新建项目
选择空项目
在这里插入图片描述
不要选择C++工程,网上许多案例,是创建C++工程,这是不符合实际情况的。如果说,我们在一个旧的项目中,因为业务因素,需要添加C++代码来实现某种功能,总不能新创建一个项目吧。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
现在我们得到一个空的安卓工程。

4、配置android studio环境
yolov5对NDK和CMake有特定版本要求
NDK 21版本
Cmake 3.10版本
选择顶部菜单栏Tools
在这里插入图片描述
进入SDK Tools
在这里插入图片描述
勾选show Package Details,选择NDK21版本
在这里插入图片描述
选择Cmake3.10版本
在这里插入图片描述
在这里插入图片描述
点击Apply,再点击OK。

这是我们NDK的版本
ndkVersion ‘21.4.7075529’
在这里插入图片描述
填写在android目录下。

5、切换到项Project窗口,右击main目录,选择 add C++to Module

在这里插入图片描述
点击ok
在这里插入图片描述
main目录下出现cpp目录
在这里插入图片描述
在这里插入图片描述
Gradle中出现
在这里插入图片描述
后续我们会对Gradle进行一些配置。

6、现在打开我们刚刚下载的yolov5Demo

在这里插入图片描述
发现demo中多了一些文件,我们刚刚add C++ Module后,会出现CMakeLists.text文件,demo中使用Adnroid.mk,我们采用Android.mk方法
从demo中复制需要的文件到我们自己的项目中
在这里插入图片描述
在这里插入图片描述
我们打开Android.mk文件,发现有Local_Module 后面的值为rknn_yolov5,引入的C++部分,相当于一个本地库,调用本地库需要名称,代码中的名称为:rknn_yolov5。
因此我们需要在Gradle中,添加这个rknn_yolov5。
在这里插入图片描述
我们使用Android.mk
在这里插入图片描述

添加完成后,需要点击同步Synv Now。
现在我们配置好了Gradle。

7、我们现在在avtivity中调用本地库。

在这里插入图片描述
下面3个方法报红,是因为在我们的jni文件中,存在错误
点开jni文件,发现对应的方法灰色,不生效,观察后发现,方法名int前面的东西,com_herohan_rknn_1yolov5_YoloV5Detect,与我们自己创建的项目不匹配,修改它。
在这里插入图片描述
我们选择acvitity中报红的init方法,
alt+回车,会出现创建jni方法的选项
在这里插入图片描述
在jni方法中,生成了一个新的方法。我们复制这段
Java_com_example_roadmapv5_MainActivity_

到上面灰色方法替换
在这里插入图片描述
在我们avtivity中,对应的几个方法爆红解决
在这里插入图片描述

然后我们调用它们。

8、我们把demo中的对应代码复制到自己项目中
在这里插入图片描述

发现一些地方报红。
创建assets文件,把对应的文件和rknn模型放进去
在这里插入图片描述
复制模型名字替换
在这里插入图片描述

下面的爆红是页面UI,我们可以把demo中 activity中xml的代码复制过来,也可以自己编写UI。
在这里插入图片描述
报错消失。现在运行程序。
运行结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值