参考文链:https://blog.csdn.net/qq_36992688/article/details/79214273
使用OpenCV-Java和使用OpenCV Native有所不同,使用Java版本的使用opencv的Java接口,为Java语言;使用native,为在nativeLib里面使用C++语言开发工程,参数传递通过JNI接口;
1. 引入模块
在项目工程中,Android Studio菜单-->File-->New-->Import Module
1)选择刚刚的sdk文件夹下的java文件夹;
2)Module name: Android studio会自动填充这项为openCVLibrary340 ,不用管它;
3)点击下一步,会出现三个复选框,都选上,点击Finish。
2. 加入依赖
1)File-->Project Structure;
2)左边Modules栏下选择app;
3)在右边上面一栏中选择Dependencies ;
4)点击右边栏中的“+”,选择第三个Module Dependency;
5)点击ok退出,然后再点击ok退出;
6)点击app,打开app根目录下的build.gradle文件,记下
compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion
然后点击openCVLibrary340,打开根目录下的build.gradle文件,把文件中
compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion
后的数值改成app中一样的。
3.添加lib支持
在gradle文件中,添加 目录索引
Android { sourceSets { assets.srcDirs = [project.ext.ASSET_DIR] jniLibs.srcDirs = ['libs'] }
在工程目录下下新建文件夹libs,与配置中的jniLIbs目录对应,将我们下载的OpenCV-android-sdk的sdk/native/libs下的所有文件拷贝到libs下。
至此我们已经可以使用Opencv相关的功能了。
4.在工程中使用opencv-java
在eclipse中使用Java-opencv,一般使用初始化
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
在AndroidStudio中,使用opencv3版本,可使用下面的语句初始化opencv;
//OpenCV库静态加载并初始化
private void staticLoadCVLibraries(){
boolean load = OpenCVLoader.initDebug();
if(load) {
//Log.i("CV", "Open CV Libraries loaded...");
System.out.print("The cv load is ok!");
}
}
在第一个oncreate里面添加语句,完成初始化
@Override
public View onCreateView(
final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
staticLoadCVLibraries();
return inflater.inflate(layout, container, false);
}
至此,可以使用OpenCV.