Yolox-nano Android Demo 实现示例
YOLOX-Nano Android
- Yolox-nano Android Demo 实现示例
- 一级目录
- 二级目录
- 一、准备好模型
- 二、使用YoloX工程里的demo
- 1、demo路径:YOLOX\demo\ncnn\android
- 2、下载ncnn编译好的包【ncnn-android-vulkan.zip from [releases of ncnn](https://github.com/Tencent/ncnn/releases)】这里使用的是demo一样的包[20210525 release](https://github.com/Tencent/ncnn/releases/download/20210525/ncnn-20210525-android-vulkan.zip)
- 3、将包解压到**app/src/main/jni**中
- 4、修改**app/src/main/jni/CMakeLists.txt**中的**ncnn_DIR**路径
- 5、修改gradle的配置文件
- 6、自定义测试默认图片
一级目录
二级目录
三级目录
一、准备好模型
1、运行tools/export_onnx.py将模型转化为onnx模型
2、通过https://convertmodel.com/将onnx转化为ncnn模型
3、下载模型并修改ncnn的param文件
4、再次通过https://convertmodel.com/简化模型
二、使用YoloX工程里的demo
1、demo路径:YOLOX\demo\ncnn\android
2、下载ncnn编译好的包【ncnn-android-vulkan.zip from releases of ncnn】这里使用的是demo一样的包20210525 release
3、将包解压到app/src/main/jni中
4、修改app/src/main/jni/CMakeLists.txt中的ncnn_DIR路径
5、修改gradle的配置文件
我是这样配置的:
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.megvii.yoloXncnn"
archivesBaseName = "$applicationId"
ndk {
moduleName "ncnn"
abiFilters "armeabi-v7a", "arm64-v8a", "x86"//"x86"是为了在Windows中直接使用虚拟机测试
}
minSdkVersion 24
}
externalNativeBuild {
cmake {
version "3.10.2"
path file('src/main/jni/CMakeLists.txt')
}
}
ndkVersion '22.1.7171670'//我是因为加上这个后代码才能正常跑通,原因未知
}
6、自定义测试默认图片
我是通过创建安卓的默认资源图片文件夹来获取图片的,创建文件夹以及步骤如下:
1)创建文件夹
2)导入图片
3)通过R.mipmap.+图片名字获取图片,并转化为bitmap后赋值给yourSelectedImage实现默认图片
代码:
imageView = (ImageView) findViewById(R.id.imageView);
bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.bus);
imageView.setImageBitmap(bitmap);
yourSelectedImage = bitmap.copy(Bitmap.Config.ARGB_8888, true);