目录
- QQ①群:994929053(满)
- QQ②群:820132154(满)
- QQ③群:904091319(满)
- QQ④群:615877948(满)
- QQ⑤群:185905924
- 整合好源码和依赖库的完整工程项目,可到Q群共享内下载或Release下载,以Project开头的压缩包文件为源码工程,例:Project_OcrLiteAndroidOnnx-版本号.7z
- 如果想自己折腾,则请继续阅读本说明
- 编译好的demo apk,可以在release中下载,或者Q群共享内下载,文件名例:OcrLiteAndroidOnnx-版本号-release.apk
- 或者Github下载
Chineseocr Lite Android Onnx Demo,超轻量级中文OCR Android Demo,支持onnx推理 (DBNet+AngleNet+CRNN)
代码和模型均源自chineseocr lite的onnx分支
详情请查看 https://github.com/ouyanghuiyu/chineseocr_lite
onnxruntime框架https://github.com/microsoft/onnxruntime
- 封装为独立的Library,可以编译为aar,作为模块来调用;
- Native层以C++编写;
- Demo App以Kotlin-JVM编写;
- Android版与其它版本不同,包含了几个应用场景,包括相册识别、摄像头识别、手机IMEI号识别、摄像头身份证识别这几个功能页面;
- opencv 3.4.15(特别说明:4.5.3也可以支持,如果换成cv4,minSdkVersion必须改为24)
- onnxruntime 1.9.0
- 升级kotlin: 1.5.31
- 升级gradle: 7.0.2
- 升级各dependencies
- 使用kotlin coroutines代替rxjava
- 编辑build.gradle,把版本定义放到root build.gradle
- 编辑github workflow config,上传aar文件到release
- 升级gradle
- 升级依赖库
- onnxruntime 1.11.1
- 高版本的opencv会要求 Minimum required by OpenCV API level is android-24,所以目前仍停留在3.4.15
- 如果不在意MinSdk,可自行下载新版opencv
- AndroidStudio 2021.2.1或以上;
- NDK下载,在SDK Tools中下载,版本选最新版;
- cmake 3.4.1或以上,最好是3.18.1,在SDK Tools中下载;
- 原始模型来自https://github.com/DayBreak-u/chineseocr_lite/tree/onnx/models。
- 模型目录结构为
OcrLiteAndroidOnnx/OcrLibrary/src/main/assets
├── angle_net.onnx
├── crnn_lite_lstm.onnx
├── dbnet.onnx
└── keys.txt
5.下载opencv-mobile-3.4.15-android.7z,下载地址 解压后目录结构为
OcrLiteAndroidNcnn/OcrLibrary/src/sdk
└── native
├── jni
└── staticlibs
- 下载onnxruntime-1.11.1-android.7z,下载地址
- 解压后目录结构为
OcrLiteAndroidOnnx/OcrLibrary/src/main/onnx
├── ONNXConfig.cmake
├── arm64-v8a
│ └── libonnxruntime.so
├── armeabi-v7a
│ └── libonnxruntime.so
├── include
├── x86
│ └── libonnxruntime.so
└── x86_64
└── libonnxruntime.so
- 编译好的apk大约3xMB
- mac/linux使用命令编译
./gradlew assembleRelease
- win使用命令编译
gradlew.bat assembleRelease
- 输出apk文件在app/build/outputs/apk
删除项目根目录下的如下缓存文件夹
.idea
build
app/build
OcrLibrary/.cxx
OcrLibrary/build
OcrLiteAndroidOnnx
├── app # demo app
├── capture # 截图
├── common-aar # app引用的aar库
├── keystore # app签名密钥文件
├── OcrLibrary # Ocr引擎库,包含Jni和C++代码
└── scripts # 编译脚本
- Android demo编写:benjaminwan
- 模型开发:DayBreak
- OCR模型版权归DayBreak所有;
- 其它工程代码版权归本仓库所有者所有;