OpenCV 集成
1. Android 平臺(tái)
Android 平臺(tái)集成主要提供兩種方式,Android SDK 下載地址:https://opencv.org/releases/酵颁;
1.1 Java 層直接調(diào)用
直接使用官方提供的 Android SDK 集成 Java 開(kāi)發(fā)车伞,
配置流程 OpenCV – 3.4.6
① 新建或打開(kāi) Android 工程項(xiàng)目;
② 工程項(xiàng)目 Import module -> select sdk java 目錄 -> 根據(jù)修復(fù) openCVLibrary346 文件依賴錯(cuò)誤-> 修改opencv module build.gradle 與 工程項(xiàng)目中sdk 版本號(hào)保持一致,minSdkVersion 21 -> 工程項(xiàng)目添加依賴 openCVLibrary346「注意:不同版本差異可能需要 application -> apply plugin: 'com.android.library'
耻陕,刪除 applicationId
」
③ sdk/native/libs 目錄下arm64-v8a(64位) 與 armeabi-v7a(32位) copy 至工程項(xiàng)目 libs 目錄拙徽;
④ 項(xiàng)目 module 工程 build.gradle
文件 android{...} 中刨沦,添加 libs 依賴,「也可在main 目錄新建 jniLibs
(大小寫敏感) 目錄,*.so
動(dòng)態(tài)文件copy膘怕,不用添加 sourceSets
代碼想诅,兩種方案二選一即可」
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
⑤ 使用前初始化 initLoadOpenCV()
private void initLoadOpenCV(){
boolean success = OpenCVLoader.initDebug();
if(true == success){
Log.i(TAG, "OpenCV library loaded ...");
}else{
Toast.makeText(this.getApplicationContext(), "Waring: Could not load opencv libraries!", Toast.LENGTH_LONG).show();
}
}
Github Sample 代碼:https://github.com/JerrryLiu/AndroidSample/tree/master/OpenCvSample/opencv4java
1.2 Native 層調(diào)用
直接依賴 libopencv_java3.so 與 頭文件自己封裝 JNI 方法,代碼量少岛心,可以只封裝自己使用到的接口来破;
① AndroidStudio 新建 NDK Include C++工程
② .\opencv-3.4.6-android-sdk\OpenCV-android-sdk\sdk\native\libs\*
copy 至工程main 文件目錄 jniLibs「大小寫敏感」
③ .\opencv-3.4.6-android-sdk\OpenCV-android-sdk\sdk\native\jni\include\opencv2
copy 至項(xiàng)目 module cpp 文件下:
CmakeLists.txt
文件代碼:
Github Sample:https://github.com/JerrryLiu/AndroidSample/tree/master/OpenCvSample/app
參考文章:
2. Python 語(yǔ)言
cv2 -> pip3 install opencv-python