引言:
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接口。