apk闪退 ncnn_README.md · benjaminwan/OcrLiteAndroidNcnn - Gitee.com

2023-05-16

# ChOcrLiteAndroidOnnxToNcnn

### Demo APK下载

[Gitee下载](https://gitee.com/benjaminwan/ocr-lite-android-ncnn/releases)

### 介绍

Chineseocr Lite Android Ncnn Demo,超轻量级中文OCR Android Demo,支持ncnn推理 (DBNet+AngleNet+CRNN)

把onnx模型格式转为ncnn格式,并使用ncnn推理框架进行OCR识别。

**代码和模型均源自chineseocr lite的onnx分支**

详情请查看 [https://github.com/ouyanghuiyu/chineseocr_lite](https://github.com/ouyanghuiyu/chineseocr_lite)

采用ncnn神经网络前向计算框架[https://github.com/Tencent/ncnn](https://github.com/Tencent/ncnn)

### 说明

1. 封装为独立的Library。

2. Native层以C++编写。

3. demo app以Kotlin-JVM编写。

4. Android版与其它版本不同,包含了几个应用场景,包括相册识别、摄像头识别、手机IMEI号识别、摄像头身份证识别这几个功能页面。

5. 自己编译的opencv 3.4.10,并精简了不需要的模块,减小apk体积。

6. 可自己选择是否要支持vulkan(GPU加速)。

### 编译说明

1. AndroidStudio 4.1或以上

2. NDK

3. cmake 3.4.1或以上

4. [模型下载](https://github.com/ouyanghuiyu/chineseocr_lite/tree/onnx/models_ncnn)

解压后目录结构为

```

OcrLiteAndroidNcnn/OcrLibrary/src/main/assets

├── angle_op.bin

├── angle_op.param

├── crnn_lite_op.bin

├── crnn_lite_op.param

├── dbnet_op.bin

├── dbnet_op.param

└── keys.txt

```

5. 下载opencv-3.4.10-android-sdk-static-lite.7z,[下载地址](https://gitee.com/benjaminwan/ocr-lite-android-ncnn/releases/1.0.0.20201007)

解压后目录结构为

```

OcrLiteAndroidNcnn/OcrLibrary/src/sdk

└── native

├── 3rdparty

├── jni

└── staticlibs

```

6. ncnn预编译库版本为 20201218 5650b77,[下载地址](https://github.com/Tencent/ncnn/releases/tag/20201218)

可以选择ncnn-android.zip或者ncnn-android-vulkan.zip,解压后目录结构为

```

OcrLiteAndroidNcnn/OcrLibrary/src/main/ncnn-static

├── arm64-v8a

├── armeabi-v7a

├── x86

└── x86_64

```

* **注意:解压后还必须修改每个abi目录下的lib/cmake/ncnn/ncnn.cmake,注释掉此行```# INTERFACE_COMPILE_OPTIONS "-fno-rtti;-fno-exceptions"```

一共有4个文件需要修改,否则会造成编译错误。**

7. 当选择ncnn不带vulkan支持的版本时

* app/build.gradle和OcrLibrary/build.gradle里的minSdkVersion可以改为21,编译出来的apk体积小10MB

* minSdkVersion=21时,最终编译出来的apk大约21MB

8. 当选择ncnn带vulkan支持的版本时

* app/build.gradle和OcrLibrary/build.gradle里的minSdkVersion必须>=24

* 因为sdk24(Android N/7.0)启用了新的打包和签名方式,再加上vulkan支持增加了不少体积,最终apk大约58MB

* 可以通过修改OcrLibrary/src/main/cpp/CMakeLists.txt的```set(OCR_LITE_VULKAN OFF)```来关闭gpu计算

### 输入参数说明

请参考[OcrLiteOnnx项目](https://github.com/ouyanghuiyu/chineseocr_lite/tree/onnx/pc_projects/OcrLiteOnnx)

### 删除缓存,重新编译

删除项目根目录下的如下文件夹

```

.idea

build

app/build

OcrLibrary/.cxx

OcrLibrary/build

```

### 编译Release包

使用命令编译```./gradlew assembleRelease```

一键复制

编辑

Web IDE

原始数据

按行查看

历史

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

apk闪退 ncnn_README.md · benjaminwan/OcrLiteAndroidNcnn - Gitee.com 的相关文章

随机推荐

  • 静态方法不需要有对象,可以使用类名调用

    Public static void printData 表明此类方法为类方法 xff08 静态方法 xff09 静态方法不需要有对象 xff0c 可以使用类名调用 静态方法中不允许访问类的非静态成员 xff0c 包括成员的变量和方法 xf
  • matlab练习程序(曲面拟合)

    这里用到的还是最小二乘方法 xff0c 和上一次这篇文章原理差不多 就是首先构造最小二乘函数 xff0c 然后对每一个系数计算偏导 xff0c 构造矩阵乘法形式 xff0c 最后解方程组 比如有一个二次曲面 xff1a z 61 ax 2
  • 高铁在高速运行时的电力是如何提供的?

    高铁在高速运行时的电力是如何提供的 xff1f 铁路机车是个庞大的家族 xff0c 高铁只是这个大家庭的一个新成员 xff0c 如果要连篇累牍赘述其他车辆 xff0c 恐怕这个答案是写不下的 xff0c 故本文针对高速铁路进行讨论 一 高铁
  • RS232通信协议详解

    通信协议 所谓通信协议是指通信双方的一种约定 约定包括对数据格式 同步方式 传送速度 传送步骤 检纠错方式以及控制字符定义等问题做出统一规定 xff0c 通信双方必须共同遵守 因此 xff0c 也叫做通信控制规程 xff0c 或称传输控制规
  • 学习C/C++的电子书大全

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在 学习C 43 43 的经典书籍 这篇文章中 xff0c 列出了C C 43 43 的经典书籍 xff1a C 43 43 Primer 第 5 版 中文版 英文版 Ef
  • 做Android开发的你还为找工作迷茫吗?通过直观的年薪来调准你的方向

    最近仍然有不少同学在找工作 xff0c 跳槽 现在跳槽不是一个好时机 可以看到现在的岗位明显减少了 很多公司都在赶今年的项目交付 xff0c 新的项目还没有规划好 xff0c 新一轮的融资也还没有到时间 很多在职的同学都在等到拿到年终奖再跳
  • 协议栈是什么

    1 协议栈是什么 简介 协议栈 xff0c 英语名称为Protocol stack xff0c 又称协议堆叠 xff0c 是计算机网络协议套件的一个具体的软件实现 协议套件中的一个协议通常是只为一个目的而设计的 xff0c 这样可以使得设计
  • 给linux杀杀毒吧

    linux是非常先进的 xff0c 但是没有绝对的安全 所以来杀杀毒吧 xff1a ClamAV是一个在命令行下查毒软件 xff0c 因为它不将杀毒作为主要功能 xff0c 默认只能查出您计算机内的病毒 xff0c 但是无法清除 xff0c
  • 服务器编程的语言,服务器编程语言的配置与CMS系统

    做过 1 服务器编程函数禁用找到 disable functions 61 该选项可以设置哪些服务器编程函数是禁止使用的 服务器编程中有一些函数的风险性还是相当大的 可以直接执行一些CentOS系统级脚本命令 如果允许这些函数执行 当服务器
  • Linux中断与进程切换,结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程...

    64 实验环境 OS Linux cj virtual machine 5 3 0 51 generic 虚拟机 QEMU 内核版本 5 3 4 调式方法 GDB PS xff1a 调试环境安装请看上一篇博客汇编级理解Linux系统调用 f
  • 【FreeRTOS】栈生长方向 portSTACK_GROWTH

    FreeRTOS新建任务时 xTaskCreate 函数有这样一段注释 span class token comment 代码已简化 span span class token comment If the stack grows down
  • 十大畅销【操作系统类】书籍,说说你看过哪本

    鸟哥的Linux 私房菜 深入理解计算机系统 Linux内核设计与实现 UNIX操作系统设计 操作系统是控制其他程序运行 xff0c 管理系统资源并为用户提供操作界面的系统软件的集合 操作系统 xff08 英语 xff1b Operatin
  • HP 阵列卡错误代码

    POST Error Messages The RAID Controller produces diagnostic error messages at reboot Many of these Power On Self Test PO
  • 我的2013 --那些划过生命线的人和事(大二.上)

    那些划过生命线的人和事 大二 上 又一次大清早被红马甲查赶出被窝 xff0c 让哥光着屁股就跑到隔壁宿舍去了 xff0c 真心恨死他们 这是一篇最早写于 2013 11 26 日的日志 xff0c 通过后来不断地增删改 xff0c 来总结
  • git提交到一半关闭时

    一 xff1a 出现问题 最近写东西 xff0c 在提交代码时 xff0c 突然出现一大推文件 忘记加 gitignore文件了 xff0c 导致所有的安装依赖也都上传了 所以 xff0c 点击了关闭按钮 xff0c 当下一次提交时 xff
  • 实录分享 | IBM马达:Kubernetes/Swarm on Mesos

    4月17日 xff0c Mesos爱好者在北京P2联合创业办公社迎来了第四次Mesos User Group约会 xff0c 下面是来自IBM马达的分享实录 作者介绍 xff1a 马达 xff0c IBM 高级软件工程师 xff0c Kub
  • 人工智能技术在呼叫中心的应用

    随着人工智能技术的不断发展 xff0c 研究成果被应用到各行各业 xff0c 今天我们主要分享一下人工智能技术在客户服务方面的应用 智能语音服务方面 xff1a 利用智能语音识别及分析技术 xff0c 在传统IVR基础上 xff0c 实时通
  • delphi开发回忆录——示例源码下载

    今天把最新的源码上传上来 xff0c 给有需要学习的朋友 xff0c 如果有朋友需要调试的话 xff0c 再向我要数据库 下载地址 xff1a http files cnblogs com edrp Demo rar
  • python异常继承树

    BaseException 43 SystemExit 43 KeyboardInterrupt 43
  • apk闪退 ncnn_README.md · benjaminwan/OcrLiteAndroidNcnn - Gitee.com

    ChOcrLiteAndroidOnnxToNcnn Demo APK下载 Gitee下载 https gitee com benjaminwan ocr lite android ncnn releases 介绍 Chineseocr L