gpt4 book ai didi

android - 如何将 OpenCV 库添加到 AS3.1.2 和 NDK 17.0

转载 作者:搜寻专家 更新时间:2023-11-01 08:21:41 24 4
gpt4 key购买 nike

我需要在 Android Studio 3.1.2 中使用 OpenCV。我有这个 IDE 和 NDK (17.0.4754217) 的最后一个版本是 05/20/2018。

我读了this post谈论它,并说了一些关于 NDK 版本 16 的问题,但事实并非如此。

大多数指南都是针对旧版本的 Android(我看到指南谈论用于 Android 开发的 Eclipse IDE)但是没有最新版本或最接近的版本,这是一个问题,因为最新版本的 AS 导致许多旧项目或制作方式的错误,因此它们使这些指南过时了。

可能是由于我不知道如何使用 NDK 和 CMake 这一事实引起的问题,所以如果有人知道如何或曾尝试这样做,我将不胜感激,会告诉我如何将 OpenCV 添加到 Android 3.1.2,也许这篇文章可以帮助其他用户使用 NDK 和 AS 的 future 版本。

这么多。

最佳答案

1.确保您的 Android SDK 是最新的,并且安装了 NDK

2.从 OpenCV.org 下载适用于 Android 的最新 OpenCV SDK 并解压缩 zip 文件。

3.新建一个Android Studio项目

  • 检查包括 C++ 支持 image 1
  • 选择空 Activity
  • 在 C++ 支持中,您可以检查 -fexceptions 和 -frtti image 2

4.导入OpenCV库模块

  • 新建 -> 导入模块
  • 选择 YOUR_OPENCV_SDK/sdk/java 文件夹 image 3
  • 取消替换 jar,取消替换 lib,取消创建 gradle-style image 4

5. 设置 OpenCV 库模块以适合您的 SDK

app/build.gradle image 5

opencv/build.gradle image 6

编辑 openCVLibrary/build.gradle 以匹配您的 app/build.gradle 例如:

compileSdkVersion 27
defaultConfig {
minSdkVersion 19
targetSdkVersion 27
}

6. 在您的应用模块中添加 OpenCV 模块依赖

文件 -> 项目结构 -> 模块应用程序 -> 依赖项选项卡 -> 新建模块依赖项 -> 选择 OpenCV 库模块 image 7

image 16

7. 通过右键单击 app/src/main 创建一个 jni 文件夹,然后单击 Change Folder Location 将文件夹从 jni 重命名为 jniLibs

之后的框
  • 第一步 image 8

  • 第二步 image 9

  • 第三步 image 10

8. 从您下载的 opencv 目录 YOUR_OPENCV_SDK/sdk/native/libs 复制所有文件并将它们粘贴到 >jniLibs 文件夹

  • 第一步 image 11

  • 第二步 image 12

9. 设置app build.gradle

  • 添加 abiFilters

    externalNativeBuild {
    cmake {
    cppFlags "-frtti -fexceptions"
    abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
    }
    }

    image 13

10.配置CMakeLists.txt文件

  • 复制这三行并粘贴到cmake_minimum_required

    之后
    include_directories(YOUR_OPENCV_SDK/sdk/native/jni/include)
    add_library( lib_opencv SHARED IMPORTED )
    set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)

    image 14

  • CMakeLists.txt的末尾,将lib_opencv写入target_link_libraries列表 image 15

现在一切都完成了,享受使用 opencv 编码的乐趣吧...... Final Image

关于android - 如何将 OpenCV 库添加到 AS3.1.2 和 NDK 17.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50433813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com