Android: AndroidStudio使用OpenCV-Java

参考文链: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.

猜你喜欢

转载自blog.csdn.net/wishchin/article/details/90715259