[英]How can I integrate OpenCV 4.0 into a pure C++ Android NDK project?
下載 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" 。
這意味着您的應用清單需要minSdkVersion 16 或更高版本(原始示例需要在此處進行修復)。
您可以使用靜態庫( opencv_imgcodecs 、 opencv_stitching等)代替包含所有 OpenCV 功能的共享庫。 這些靜態庫假定默認ANDROID_STL=c++_static 。
為獲得最佳結果,請使用 NDK r.18或r.19 。
更新: NDK r.21適用於 opencv 4.3.0 。
如果您想在不使用 Android Studio 的情況下創建共享對象(.so)
並進行編譯,請訪問我的博客。 當您想要創建本機第三方庫時,這通常很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.