簡體   English   中英

如何將 OpenCV 4.0 集成到純 C++ Android NDK 項目中?

[英]How can I integrate OpenCV 4.0 into a pure C++ Android NDK project?

我整合的必要步驟是什么,

最新版本的 OpenCV

變成一個純C++(No Java Code)Android NDK項目,比如Android NDK谷歌教程:

無盡隧道

android 集成的官方文檔指的是更舊的版本:OpenCV-2.4 和文件夾結構不再相同。

我在 Linux 上使用 Android Studio。

非常感謝所有幫助。

  1. 下載 opencv Android 包(例如opencv-4.0.1-android-sdk )並解壓到~/android

  2. 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_imgcodecsopencv_stitching)代替包含所有 OpenCV 功能的共享庫。 這些靜態庫假定默認ANDROID_STL=c++_static

為獲得最佳結果,請使用 NDK r.18r.19

更新: NDK r.21適用於 opencv 4.3.0

如果您想在不使用 Android Studio 的情況下創建共享對象(.so)並進行編譯,請訪問我的博客 當您想要創建本機第三方庫時,這通常很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM