OpenCV for Android (1)——环境搭建

OpenCV (Open Source Computer Vision Library) 是一个基于BSD许可(开源)发行的跨平台计算机视觉与机器学习库,可以运行在Linux、Windows、Android和Mac OS操作系统上。


1. 准备工作

  • 安装Android Studio
  • 下载OpenCV for Android Here

此处下载使用OpenCV 3.4.0

2. 导入Module

下载完成后解压其文件目录结构如下所示:

sample是OpenCV为我们提供的一些示范案例。

apk则是OpenCV提供的管理软件,以便手机使用。

其中关键部分为sdk中的Java目录,此为之后需要导入的module。

etc中包含人脸识别的一些数据集。

在创建好的安卓工程中导入module:


工程中会加入OpenCV


同时不要忘记添加依赖,在File-Project Structure中添加:


之后打开app 的 build.gradle 然后打开OpenCVLibrary340的build.gradle 有些地方需要一致

把app中的复制一下:

保证红框内部分与app的build.gradle一致。

3. libs

复制OpenCV-sdk-native-libs中的所有数据到工程对应的libs中:

9.PNG

4. 配置app的build.gradle

api fileTree(dir: "$buildDir/native-libs",include: 'native-libs.jar')

compile改为api参阅这里

task nativeLibsToJar(type: Jar,description:'create a jar archive of the native libs'){
    destinationDir file("$buildDir/native-libs")
    baseName 'native-libs'
    from fileTree(dir: 'libs',include: '**/*.so')
    into 'lib/'
}
tasks.withType(JavaCompile){
    compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

在重新同步一下。
如上基本完成操作。

5. 测试

//灰度图像
private void RGB2Gray() {
        Mat src = new Mat();
        Mat dst = new Mat();
        Bitmap temp = mBitmap.copy(mBitmap.getConfig(), true);
        org.opencv.android.Utils.bitmapToMat(temp, src);
        Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGRA2GRAY);
        org.opencv.android.Utils.matToBitmap(dst, temp);
        mIvProcess.setImageBitmap(temp);
    }

你可能感兴趣的:(OpenCV for Android (1)——环境搭建)