簡體   English   中英

如何在 Android(使用 NDK)和 ARM 處理器上使用 OpenCV C++ 應用程序

[英]How to use OpenCV C++ applications on Android (using NDK) & ARM processor

我想將我現有的 OpenCV 應用程序更改為 ARM(處理器)架構,這些應用程序是用 cpp 編寫的桌面版 (X_86) 處理器。 在初始階段,我沒有興趣將我的 cpp 應用程序更改為 java 並在 Android Studio IDE 上編譯它。 在開發 Android 應用程序之前,我想對 ARM 處理器進行基准測試。 它是否能夠運行我的 OpenCV 應用程序,處理視頻幀需要多少時間等等。所以保留我的 cpp 應用程序,我想為 ARM Arch 交叉編譯它。 並在 Android 設備上運行它(沒有 GUI)。 這該怎么做?

我已經按照許多鏈接和博客為 ARM 處理器編譯和構建 opencv cpp 應用程序。 一個好的鏈接是

https://www.learnopencv.com/install-opencv-on-android-tiny-and-optimized/

所有學分都歸於上述博客作者。

這個鏈接非常適合初學者,直到第 8 步,它寫得非常清楚,我可以遵循它,但是從第 9 步開始,它沒有正確寫出在哪里保存演示應用程序、鏈接、包含庫。 它曾經給出錯誤 *.hpp not found。 我嘗試了所有方法但無法解決。 然后我想讓我首先構建帶有opencv sdk的示例應用程序。 我的方法如下所示。

使用的構建設置

一種。 Ubuntu 14.04 並安裝了https://www.learnopencv.com/install-opencv3-on-ubuntu/鏈接中提到的所有軟件包。

下載並安裝 NDK r14b

C。 下載並安裝 OpenCV 3.4.1

d. 目標 armeabi-v7a(基於 ARM)和 Android API 23

首次設置需要步驟 1-4

第 1 步:下載並安裝 NDK解壓並進入 NDK 文件夾

$ ./build/tools/make_standalone_toolchain.py \\ --arch arm \\ --api 23 \\ --install-dir /tmp/my-android-toolchain

第 2 步:設置 ANDROID_NDK 路徑

$ export ANDROID_STANDALONE_TOOLCHAIN=/tmp/my-android-toolchain/

步驟 3 下載並安裝 OpenCV 3.4.1

$ cd opencv/

$ mkdir 構建

$ cd 構建

$ cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake -DANDROID_STL=gnustl_shared -DBUILD_EXAMPLES=ON -DANDROID_NATIVE_API_LEVEL=23 ..

-DBUILD_EXAMPLES=ON對構建示例很重要)。

$ make -j4

第 4 步 Neon 和 VFPV3 優化(可選)

對於基於 ARM 的設備,我通常使用以下方法啟用優化:NEON VFPV3 查看平台/android/android.toolchain.cmake 的序言以了解各種配置選項。

第 5 步構建您的代碼轉到工作目錄

$ cd path-to-opencv

將新創建的 cpp 文件放在 opencv/samples/cpp/

$ cd 構建/

$ cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake -DANDROID_STL=gnustl_shared -DBUILD_EXAMPLES=ON -DANDROID_NATIVE_API_LEVEL=23 ..

$ make -j4

第6步在android上復制並運行

$ cd path-to-opencv

$ adb push build/bin/example_cpp_your_program /system/xbin/

$ adb push build/libs/armeabi-v7a/libgnustl_shared.so /system/lib/ ****(如果需要)****

(對我來說,在執行 cpp 二進制文件時,它說沒有找到鏈接的庫)

$亞行外殼

$ cd /system/xbin/

$ ./example_cpp_your_program

這種方法在我的 Android 設備上完美運行,無需使用 Android Studio IDE。

暫無
暫無

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

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