Android 使用 OpenCV (JNI 实现)

Android 使用 OpenCV (JNI 实现)

OpenCV 有提供 Android Jar 库。

可以使用 OpenCV.jar 去在 Android 中实现 OpenCV 的功能。

但是,有个问题:

Android 版本的 OpenCV 和 C++ 版本的接口存在一定的差异。

导致如果你想实现以前 C++ 版本的 OpenCV 功能,那么改动量还是不少的。

因此,如果你想快速在 Android 上使用 C++ 版本已经实现的 OpenCV 功能,那就可以采用以前讲到的 JNI。

下载 OpenCV Android 库

下载方式不介绍了,可以访问 https://opencv.org/releases.html 下载相应的 OpenCV 库。

我使用的是 opencv-3.4.3-android-sdk.zip

解压 OpenCV 压缩档

把压缩文档解压到特定目录,解压后得到:OpenCV-android-sdk 目录

其中我们要用到的文件在 OpenCV-android-sdk/sdk/native

其中更主要的几个目录是:

  • jni
    • include
      • opencv
      • opencv2
  • libs
    • arm64-v8a
    • armeabi
    • armeabi-v7a
    • mips
    • mips64
    • x86
    • x86_64
  • staticlibs
    • arm64-v8a
    • armeabi
    • armeabi-v7a
    • mips
    • mips64
    • x86
    • x86_64

libsstaticlibs 目录内还有其它架构(如:mipsmips64x86x86_64等)。

但 Android 常用 arm 架构,其它可自行考虑。

项目中使用到的 OpenCV 文件

接下来在 Android 工程中建立 CMakeLists.txt,使用 CMake 编译 OpenCV 的 JNI 代码。

CMake 编译 OpenCV JNI


# 请注意,修改本地的 OPENCV_SDK_PATH (OpenCV-android-sdk 路径)


# Sets the minimum version of CMake required to build the native library.
#set(OPENCV_SDK_PATH D:/Code/OpenCV-android-sdk)#设置OpenCv的路径变量
set(OPENCV_SDK_PATH  ${CMAKE_SOURCE_DIR}/src/main/cpp/opencv_src)#设置OpenCv的路径变量


# 配置加载native依赖
include_directories(${OPENCV_SDK_PATH}/sdk/native/jni/include
                    ${CMAKE_SOURCE_DIR}/src/main/cpp/
                    ${CMAKE_SOURCE_DIR}/src/main/cpp/include
                    )


set(CMAKE_VERBOSE
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值