android opencv之旅(一)导入AndroidStudio

需求

公司最近又有了一项新的需求:定位一张截图里面的棋盘区域,并识别其中的黑白子数目。类似于下面这张图:


隐智围棋.jpg

一说图片识别,立马想到了大名鼎鼎的opencv,正好趁此机会学习一波,前后折腾了三四天,总算初步入门,运用内置的一些基础算法实现了上述需求,在此整理记录一下。

下载

官网地址:https://opencv.org/releases.html,选择android pack。
下载解压后目录如下:

目录.png

导入Android Studio

  • 打开Android Studio新建项目
  • 通过Import Module导入sdk目录下的java文件夹,修改该module下的build.gradle文件,配置同主module下的build.gradle文件,比如:
compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 26
    }
  • 在主module的/src/main目录下新建jniLibs文件夹,将刚才下载的sdk/native/libs下的文件拷贝到jniLibs下,具体拷哪个根据自己的系统架构来定,也可以都拷,不过最后apk文件会很大。


    jniLibs.png
  • 主module依赖opencv module

dependencies {
    //。。。
    implementation project(':openCVLibrary341')
   // 。。。
}

测试

在MainActivity的onCreate方法中调用下面的初始化方法:

private void staticLoadCVLibraries() {
        boolean load = OpenCVLoader.initDebug();
        if (load) {
            Log.i("MainActivity", "Open CV Libraries loaded...");
        } else {
            Log.i("MainActivity", "Open CV Libraries not loaded...");
        }
    }

运行app,观察日志:

06-06 07:14:43.580 13503-13503/com.lxf.ndkdemo I/MainActivity: Open CV Libraries loaded...

你可能感兴趣的:(android opencv之旅(一)导入AndroidStudio)