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 的相关文章

  • Android - 运行 jarSigner 后是否需要运行 zipAlign?

    我刚刚成功签署了一个 Android 应用程序 我正在尝试重新发布到商店 我不记得是否必须在 jarSigner 之后运行 zipAlign 或者运行 jarSigner 后我一切都好 我正在看这里 http developer andro
  • 使用 Google Play 提供的上传密钥签署 APK

    我正在尝试了解如何在使用 Google Play 应用签名时将应用上传到 Google Play 这是我所做的 创建了一个应用程序 使用 keytool exe 为该应用程序生成密钥 已将应用上传至 Google Play 已注册 Goog
  • 如何让Android系统对所有apk强制使用LANDSCAPE?

    为了实现这一点 我在android系统 v4 04 中进行了三种修改 它们是 1 WindowsManagerService java 修改了getOrientationFromWindowsLocked 2 Activity java 修
  • Google Play Android .apk 上传“无法运行 aapt dump badging”

    自从我上次将应用程序上传到 Google Play 开发者控制台以来已经快一年了 这是我已经签名并压缩对齐的 Cordova 应用程序 按照我过去成功使用的相同流程 我现在收到以下错误 上传失败 无法使用 aapt dump badging
  • 我如何知道模拟器上运行的应用程序是否是最新版本?

    我使用 Eclipse 和 Android 模拟器开发 Android 应用程序 有时我不知道我是否在模拟器中运行最新版本的应用程序 有什么办法可以检查是否是最新版本吗 例如 我对应用程序的布局进行了更改 但是当我在模拟器中运行应用程序时
  • 尝试在 Android Studio 中重命名包,但显示文件 (com) 已存在

    我在 Android Studio 中创建了一个新应用程序 一切都很顺利 我创建了一个签名的 apk 但是我在 Play Store 上发布了一个旧应用程序 我设法找到了那个旧应用程序的 key keystore 这也是我最初在 Eclip
  • Android ZBar 异常仅适用于 Jenkins 构建

    我有一个带有 QR 扫描活动的 Android 项目 我为此使用 ZBar 库 http sourceforge net projects zbar files AndroidSDK http sourceforge net project
  • 无法将 APK 上传到 Google Play

    无法将 APK 上传到 Google Play 已经尝试过其他浏览器和电脑 无论如何都无法上传 总是得到 将新 APK 上传到生产环境 上传失败 我们无法保存您的更改 请再试一次 上传另一个APK 似乎是谷歌部分的东西 快速搜索发现现在很多
  • APK 安装失败:[INSTALL_FAILED_VERIFICATION_FAILURE]

    我正在尝试在运行 Jelly Bean 4 2 AOSP 版本的设备上安装 APK 当我 adb install my apk 时 出现错误 安装 失败 验证 失败 我尝试使用 testsign jar 来 签名 apk 但它不会改变结果
  • 如何为 Android 发送库

    我想为 Android 开发一个库 我可以以什么形式运送 jar apk 还是其他 我应该如何做才能让其他开发人员可以在他们的应用程序中使用我的库 如果您的库是纯 Java 代码 则 JAR 就可以了 也许可以用文档等进行压缩 如果您需要资
  • Android APK的静默安装

    我正在寻找一种方法来对我的应用程序进行编程以静默安装 APK 文件 我知道可以使用如下代码启动 Intent intent new Intent Intent ACTION VIEW intent setDataAndType Uri fr
  • Android apk 构建的条件资源包含/排除

    我不断回到这个问题 因为似乎没有一个干净的解决方案 有没有人有一个好的策略来从 Android 子项目中排除资源 我有两种情况 1 基础库项目具有 en es 等本地化文件 子项目1使用所有本地化 一切都很好 子项目 2 仅本地化为英语 但
  • ant命令不生成apk文件

    我正在使用 Ant 构建我的应用程序 我的应用程序使用库项目 所以首先我在命令行中运行以下命令以在我的项目中生成 build xml 安卓更新 项目 target 5 p 我的项目路径 l 我的库项目路径 我的应用程序的构建目标是 4 0
  • 重命名 APK 内的包名称

    我创建了一个AIR app目前市场上有这种产品 要更新应用程序 显然我必须保留相同的包名称 我的第一个版本是使用以下方式打包的Eclipse使用 ADT 插件 现在可以使用AIR 3 0 本机扩展 ANE 当我第一次开发该应用程序时不可用
  • 当更新可用时,手动安装的 apk(不是从 Play 商店)会收到通知吗?

    我想在平板电脑上安装 apk 知道怎么做 我的平板电脑会收到来自 Play 商店的通知吗 该更新已在 Play 商店中准备就绪 我应该安装它吗 仅当满足以下两个条件时 您才会收到更新 在 Google Play 已安装的应用程序 选项卡中看
  • Android Studio:通过命令行安装Release App

    我想从命令行导出 apk 文件 release apk 当我运行这个命令时 gradlew installRelease 我发现了这个 在根项目 中找不到 Android Studio 任务 安装版本 一些候选者是 卸载版本 我该如何解决
  • 从 Android App Bundle 生成通用 APK

    我有一个应用程序包文件 现在我想生成一个可以安装到所有设备的通用 APK 我尝试使用此命令生成通用APK bundletool build apks bundle myapp bundle abb output myapp apks uni
  • 有没有办法理解安装错误代码的实际含义?

    我正在尝试应用内更新功能 但收到 FAILED 安装状态和 100 安装错误代码 有什么办法让我知道可能是什么原因造成的吗 我实现了灵活的应用内更新 并记录了每个步骤 遵循 Android 开发者教程here https developer
  • Mac OS Flutter 构建应用程序包失败:密钥库格式无效

    自从一周以来 我一直在尝试从 flutter 应用程序创建 android 应用程序包 并且我一直遵循创建上传密钥库 https flutter dev docs deployment android给定 flutter 官方网站 在 Ma
  • 您上传的 APK 未对齐 zip 错误

    我刚刚通过android studio完成并签署了apk 然后我通过 apkprotect com 做了一个 apk 保护 当我尝试将 apk 上传到 Play 商店时 出现此错误 您上传的 APK 未进行 zip 对齐 您需要在 APK

随机推荐

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

    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