1. 程式人生 > >Andorid NDK 開發(二)---OpenCV 環境配置

Andorid NDK 開發(二)---OpenCV 環境配置

AndoridNDK開發(二)—OpenCV 環境配置

    主要描述了在Android採用計算機視覺庫OpenCV。該文章只是講述了採
用OpenCV在AndroidStudio中設定使用,但只是一部分,因為熟悉OpenCV
知道一般分為兩個部分:

    1)Opencv:包含Opencv基礎

    2)Opencv_contrib:擴充套件包

OpenCV:是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,可以
可以執行在Linux、Windows、Android和Mac OS作業系統上。它輕量級
而且高效——由一系列 C 函式和少量 C++ 類構成,同時提供了Python、
Ruby、MATLAB等語言的介面,實現了影象處理和計算機視覺方面的很多
通用演算法。[百度百科]

文章流程:

    1.開發準備
    2.AndroidStudio配置Opencv


注意: 這裡採用AndrodioStudio3.0

1.開發準備

主要講述在開發OpenCV的時候,一些準備。

1)下載Opencv

    連線:https://sourceforge.net/projects/opencvlibrary/files/opencv-android/3.4.1/opencv-3.4.1-android-sdk.zip/download


2)解壓壓縮包
正常進入OpenCV-android-sdk-->sdk,之後如圖所示

圖片顯示:

2.Android配置Opencv

請參考AndroidNDK(一)


1)進入解壓OpenCv目錄:OpenCV-android-sdk-->sdk複製native目錄
下的內容到工程目錄,如圖顯示 


2)配置app/buid.gradle檔案新增:
 sourceSets.main.jni.srcDirs = []
//禁止自帶的ndk功能
sourceSets.main.jniLibs.srcDirs = ['src/main/libs','src/main/jniLibs']
//重定向so目錄為src/main/libs和src/main/jniLibs,原來為src/main/jniLibs

3)在src/main目錄下新建jni目錄,並新建android.mk和application.mk
檔案

 (1)Android.mk中內容,如圖所示

 (2)Application.mk中內容如圖所示


4)新建本地方法類叫OpenCVHepler如圖所示


5)採用javah-jni編譯OpenCVHelper生成標頭檔案如圖所示;注意沒有配置
javah-jni的,請參考AndroidNDK(一)

6)新建原始檔名為OpenCV.cpp,注意這裡要和Android.mk檔案中:
LOCAL_SRC_FILES :=OpenCV.cpp中一致

7)編寫OpenCV.cpp.具體內容如圖所示

8)編譯生成動態庫,採用ndk-build工具

9)呼叫測試效果如下

10)具體程式碼看參考如下github:
 https://github.com/whjlingtu/NDK_OpenCV_Demo.git

總結

其實這個配置,只是針對於Opencv基礎庫,但是還有一些擴充套件庫
的配置Opencv_contrib,由於配置過程比這個複雜點,只能有時
間下一次有時間在寫

圖片顯示:

1.複製native

2.配置build.gradle

3.Android.mk的內容

4.Application.mk的內容

5.OpenCVHelper

6.javah-jni生成標頭檔案

7.OpenCV中內容

1)test方法

2)採用Opencv方法

8.生成so庫

9.效果如下