PaddleOCR中Android示例Demo编译问题解决

文章目录

  • 一、前言
  • 二、解决方案
  • 三、结果

一、前言

在PaddleOCR项目 ( 地址为 https://github.com/PaddlePaddle/PaddleOCR) 中的 deploy 文件夹下有个 android_demo 文件夹.

android_demo 这个文件夹就是一个单独的项目. 但是在未编译 PaddleOCR 时, 单独编译这个项目就会出现问题.

二、解决方案

如果不编译的话, 是可以直接运行这个项目的. 如果对源码进行修改后就需要重新编译, 这个时候就会出现问题.

在第一次进行 Make Build 会出现 OpenCV 的错误, 但这不是 OpenCV 的问题. 错误代码如下所示.

按照网上部分教程, 有些会修改 OpenCVConfig.cmake 中的变量 FASLE 为 TRUE.

PaddleOCR中Android示例Demo编译问题解决_第1张图片

但是这个时候编译就会出现新的问题.

这是因为没有编译 PaddleOCR 从而获得其他的芯片架构的运行库文件. 但是这个 Android Demo 里面已经有了 arm-v8 架构的运行库文件. 这里就只需要向 build.gradle 添加编译指定架构的指令.

android {
    defaultConfig {
        xxxxxxxx
        externalNativeBuild {
            xxxxxxx
        }
        // new content
        ndk {
            abiFilter 'arm64-v8a'
        }
    }
}

如果不行就尝试在 externalNativeBuild 中添加

android {
    defaultConfig {
        xxxxxxxx
        externalNativeBuild {
            xxxxxxx
            // new content
            ndk {
                abiFilter 'arm64-v8a'
            }
        }
    }
}

三、结果

编译成功截图

PaddleOCR中Android示例Demo编译问题解决_第2张图片

需要注意的是, 这样编译出的程序用模拟器运行时就需要选择 arm64 架构, 或者使用较为新的安卓真机运行.

你可能感兴趣的:(android,PaddleOCR)