美文网首页Android图像处理
OpenCV for Android (1)——环境搭建

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

作者: 洋芋掉到碗里去了 | 来源:发表于2018-02-22 23:03 被阅读14次

    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)——环境搭建

        本文链接:https://www.haomeiwen.com/subject/bvdgtftx.html