# 简介
- rknn_yolov5_android_apk_demo 是RK356X/RK3588上如何调用NPU的demo,该demo的基础模型是yolov5s
# 使用说明
- 可以使用android studio 2021.2.1 (Windows)或者android studio 2021.3.1(Linux/macOS) 编译该工程
- yolov5s.rknn是使用rknn toolkit2将yolov5s.onnx转换而来,具体转换方法参考rknn toolkit2的examples/onnx/yolov5
# 代码说明
## 代码分为两大部分:
- JAVA: com.rockchip.gpadc.demo: 读取camera输入,并调用jni进行inference,并将结果显示出来
- JNI: 调用rknnrt进行实际inference
# 权限
运行本程序需要Camera及EXTERNAL_STORAGE读写权限
# FAQ
## 编译时出现“files found with path 'lib/arm64-v8a/xxx.so' from inputs:”类似错误
```
Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
> 2 files found with path 'lib/arm64-v8a/librga.so' from inputs:
- rknpu2/examples/rknn_yolov5_android_apk_demo/app/build/intermediates/merged_jni_libs/debug/out/arm64-v8a/librga.so
- rknpu2/examples/rknn_yolov5_android_apk_demo/app/build/intermediates/cxx/Debug/3f40b265/obj/arm64-v8a/librga.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
```
或者
```
2 files found with path 'lib/arm64-v8a/xxx.so' from inputs:
- rknn_yolov5_android_apk_demo/app/build/intermediates/merged_jni_libs/debug/out/arm64-v8a/librga.so
- rknn_yolov5_android_apk_demo/app/build/intermediates/cxx/Debug/3f40b265/obj/arm64-v8a/librga.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
```
则需要添加 app/build.gradle中的"jniLibs.srcDirs = ['libs']",具体原因参考“https://developer.android.com/r/tools/jniLibs-vs-imported-targets”
## app启动时,出现"E/SurfaceView: Exception configuring surface"的错误
```
D/rkyolo: camera facing: 1
V/rkyolo: Camera Supported Preview Size = 160x90
V/rkyolo: Camera Supported Preview Size = 320x180
V/rkyolo: Camera Supported Preview Size = 432x240
V/rkyolo: Camera Supported Preview Size = 640x360
V/rkyolo: Camera Supported Preview Size = 800x448
V/rkyolo: Camera Supported Preview Size = 864x480
V/rkyolo: Camera Supported Preview Size = 1024x576
V/rkyolo: Camera Supported Preview Size = 1280x720
V/rkyolo: Camera Supported Preview Size = 1600x896
V/rkyolo: Camera Supported Preview Size = 1920x1080
E/SurfaceView: Exception configuring surface
java.lang.RuntimeException: setParameters failed
at android.hardware.Camera.native_setParameters(Native Method)
at android.hardware.Camera.setParameters(Camera.java:2068)
at com.rockchip.gpadc.demo.MainActivity.setCameraParameters(MainActivity.java:295)
at com.rockchip.gpadc.demo.MainActivity.startCamera(MainActivity.java:245)
at com.rockchip.gpadc.demo.MainActivity.access$300(MainActivity.java:47)
at com.rockchip.gpadc.demo.MainActivity$TSurfaceHolderCallback.surfaceCreated(MainActivity.java:199)
```
是因为app设置的分辨率该camera不支持,需要修改"app/src/main/java/com/rockchip/gpadc/demo/rga/HALDefine.java"中CAMERA_PREVIEW_WIDTH及CAMERA_PREVIEW_HEIGHT为摄像头支持的分辨率。

仗剑走天涯~
- 粉丝: 6
最新资源
- Chinese safety prompts for evaluating and improving the safety of LLMs. 中文安全prompts,用于评估和提升大模型的安全性
- WorldBlueSky-JavaDocS-22484-1755764829860.zip
- 《解构大语言模型:从线性回归到通用人工智能》配套代码
- SQL Server管理入门与实践
- LangChat: Java LLMs/AI Project, Supports Multi AI Providers( Gitee AI/ 智谱清言 / 阿里通义 / 百度千帆 / DeepSeek
- 大模型具身智能比赛-机器人控制端
- 计算机系统基础课程实验项目之数据实验室-位操作与整数浮点数表示深度解析-用于帮助学生理解计算机底层数据表示和位运算原理-通过修改bitsc文件完成指定位操作函数-使用dlc编译器.zip
- PHP, Apache, MySQL Web Development入门指南
- 《解构大语言模型:从线性回归到通用人工智能》配套代码
- 《解析大语言模型:从线性回归到通用人工智能》配套代码 《剖析大语言模型:从线性回归到通用人工智能》配套代码 《拆解大语言模型:从线性回归到通用人工智能》配套代码
- 大数据如何改变我们的生活与工作
- 个人关于大模型的记忆宝藏
- 个人关于大模型的记忆宝藏
- 数据库基础与应用:从理论到实践
- 基于大语言模型(LLM)和多智能体(Multi-Agent),探究AI写小说能力的边界
- 网络安全分析与监控平台安全防护关键技术.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


