# 简介
- 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为摄像头支持的分辨率。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
RK3568实现Android平台搭建yolov5目标识别模型(Android Studio).zip (72个子文件)
RK3568实现Android平台搭建yolov5目标识别模型(Android Studio)
gradle
wrapper
gradle-wrapper.jar 53KB
gradle-wrapper.properties 207B
tools
save_capture_img.py 582B
app
CMakeLists.txt 2KB
src
main
assets
coco_80_labels_list.txt 701B
java
com
rockchip
gpadc
demo
InferenceResult.java 6KB
ImageBufferQueue.java 3KB
tracker
ObjectTracker.java 5KB
rga
HALDefine.java 811B
RGA.java 1KB
CameraPreviewActivity.java 20KB
MainActivity.java 3KB
yolo
InferenceWrapper.java 5KB
PostProcess.java 2KB
res
values
dimens.xml 220B
colors.xml 203B
strings.xml 433B
styles.xml 700B
layout
activity_main.xml 5KB
main2.xml 384B
raw
yolov5s_rk3588.rknn 8.11MB
yolov5s_rk3566.rknn 7.27MB
yolov5s_rk3562.rknn 7.28MB
drawable-hdpi
ic_launcher_round.png 5KB
rockchip.png 6KB
num_bg.png 960B
img_logo.png 5KB
img_logo_alientek2.png 3KB
fps_bg.9.png 310B
ic_launcher.png 3KB
cpp
object_tracker
objects_tracker.h 3KB
objects_tracker.cc 10KB
objects_update.h 554B
objects_update.cc 2KB
track_link.h 999B
track_link.cc 2KB
yolo_image.cc 15KB
native-lib.cc 8KB
rga
im2d_mpi.h 3KB
im2d.hpp 852B
RgaSingleton.h 2KB
im2d_expand.h 1KB
drmrga.h 9KB
im2d_version.h 2KB
RockchipRga.h 4KB
RgaUtils.h 1KB
RgaMutex.h 6KB
im2d.h 977B
rga.h 4KB
RgaApi.h 2KB
im2d_buffer.h 7KB
im2d_type.h 14KB
im2d_common.h 5KB
im2d_task.h 15KB
im2d_single.h 31KB
GrallocOps.h 2KB
post_process.h 2KB
rknn_api.h 30KB
post_process.cc 11KB
yolo_image.h 844B
jniLibs
arm64-v8a
librga.so 7.14MB
libopencv_java3.so 17.06MB
librknnrt.so 5.13MB
AndroidManifest.xml 2KB
proguard-rules.pro 772B
build.gradle 2KB
gradlew.bat 2KB
build.gradle 573B
settings.gradle 16B
gradlew 5KB
.gitignore 192B
README.md 3KB
共 72 条
- 1
资源评论
不脱发的程序猿
- 粉丝: 24w+
- 资源: 5773
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功