引言:
OpenCV的Java接口是使用JNI的方式調用c++函數,所以首先需要添加opencv的dependencies作爲Java的調用接口函數,然後拷貝jniLibs,最後在調用OpenCV的Java文件添加動態庫加載函數即可使用OpenCV的Java接口。
配置過程:
下載OpenCV-android-sdk,解壓。
Step1:在project下新建文件夾libraries,把OpenCV-android-sdk/sdk/java拷貝到libraries下,重命名爲opencv
Step2:在libraries目錄下新建build.gradle,注意下面5個選項
apply plugin: 'com.android.library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0' // 改成系統中已有的版本
}
}
android {
compileSdkVersion 26 //和 app gradle.build保持一致
buildToolsVersion '26.0.2'//和 app gradle.build保持一致
defaultConfig {
minSdkVersion 21 //和 app gradle.build保持一致
targetSdkVersion 25 //和 app gradle.build保持一致
versionCode 2480
versionName "3.1.0"
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = ['src']
}
}
}
Step3:添加module dependencies
在settings.gradle中添加
include ':libraries:opencv'
然後在project->Open Module Settings
Step4:
把sdk/native/libs文件拷貝到項目project/app/src/main下,重新命名爲jniLibs
Step5:
在Java代碼中添加
static{ System.loadLibrary("opencv_java3"); }
結語:
至此就可以使用OpenCV的Java接口了,這裏使用的構建工具是gradle,如果想在JNI函數中使用OpenCV,可以參考上一篇文章,使用CMake採用Imported方法構建OpenCV的JNI接口。