我集成需要哪些步骤,
进入一个纯C++(No Java Code)的Android NDK项目,比如Android NDK谷歌教程:
official documentation对于 android 集成,指的是更旧的版本:OpenCV-2.4 和文件夹结构不再相同。
我在 Linux 上使用 Android Studio。
非常感谢所有帮助。
最佳答案
下载 opencv Android 包(例如 opencv-4.0.1-android-sdk )并解压到
~/android
。到CMakeLists.txt的底部, 添加
set( OpenCV_DIR "~/android/OpenCV-android-sdk/sdk/native/jni" ) find_package( OpenCV REQUIRED ) target_link_libraries(game opencv_java)
包将定义以下变量:
OpenCV_LIBS : OpenCV 模块的所有导入目标的列表。
OpenCV_INCLUDE_DIRS: OpenCV 包含目录列表。使用 CMake >= 2.8.11 你甚至不需要写
include_directories(${OpenCV_INCLUDE_DIRS})
此版本的预建 OpenCV SDK 还定义了
OpenCV_VERSION : 此 OpenCV 构建的版本:“4.0.1”
OpenCV_ANDROID_NATIVE_API_LEVEL: Android API 的最低要求级别:“16”。
这意味着您的应用 list 需要 minSdkVersion 16 或更高版本(原始示例需要修复 here)。
您可以使用静态库(opencv_imgcodecs、opencv_stitching、等)代替包含所有 OpenCV 功能的共享库。这些静态库采用默认的 ANDROID_STL=c++_static。
为获得最佳结果,请使用 NDK r.18 或 r.19。
更新:NDK r.21 适用于 opencv 4.3.0。
关于android - 如何将 OpenCV 4.0 集成到纯 C++ Android NDK 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54967251/