Android Studio 1.5 opencv开发

1、下载opencv for android

地址:http://opencv.org/downloads.html

2、建立android工程

我这里建立一个名为OpencvAndroidTest的工程
这里写图片描述

3. 在工程根目录下建立一个libraries的目录

这里写图片描述

**4. 在libraries目录下面建立一个opencv的目录

这里写图片描述

5、解压下载好的android for opencv sdk

我这里以OpenCV-2.4.10-android-sdk举例,解压后如下
这里写图片描

6、将加压后目录的sdk/java/下面的所有文件添加到刚才建好的libraries/opencv下面

引用块内容

7、在opencv下面建立build.gradle文件,并拷贝如下内容

需要改动的就是注意对应自己的gradle版本及sdk版本
上面需要注意的就是红线部分,首先gradle版本要对应,其次编译工具版本对应,前者尤其重要,后者编译时会有响应提醒,根据编译错误修改即可
贴出实际内容如下
`apply plugin: ‘android-library’

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ‘com.android.tools.build:gradle:1.5.0’
}
}

android {
compileSdkVersion 23
buildToolsVersion “23.0.2”

defaultConfig {
    minSdkVersion 8
    targetSdkVersion 23
    versionCode 3000
    versionName "3.0.0"
}

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        res.srcDirs = ['res']
        aidl.srcDirs = ['src']
    }
}

}`

8、顶层settings.gradle中添加gradle相关同步项

这里写图片描述

9、利用gradle同步工程

点击菜单“Tools/Android/Sync Project with Gradle File”,此时gradle会同步工程,同步完结果如下
这里写图片描述

10、添加app对opencv的依赖

点击菜单”File/ProjectStructure”,然后按如下方式操作
这里写图片描述

11、选择opencv添加并点击ok确认,之后会看到gradle再次自动同步

引用块内容

12、添加so库

a、在app/src/main/下面建立目录jniLibs
b、将OpenCV-2.4.10-android-sdk/sdk/native/libs下面选择一个你所需的平台拷贝到jniLibs下面
c、拷贝到jniLibs下面之后,删除jniLibs下面所有的以“.a”结尾的库文件只留下以”.so”结尾的文件,如下所示:
d、再次同步工程
引用块内容

13、编写代码编译测试

/*
 * 建立一个OpencvAndroidTest的一个类进行测试
 * /
package com.gozen.opencvandroidtest;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;

/**
 * Created by apple on 16/3/10.
 */
public class OpencvTest {

    public static Mat imgAnd(String imgA, String imgB) {
        Mat imgaMat = Highgui.imread(imgA);
        Mat imgbMat = Highgui.imread(imgB);

        Mat imgcMat = imgaMat.clone();

        Core.bitwise_and(imgaMat, imgbMat, imgcMat);

        return imgcMat;
    }
}
/*
 *MainActivity如下
 *需要强调的一点是相关opencv的东西不能再onCreate方法中调用
 *否则会异常
 */
package com.gozen.opencvandroidtest;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import junit.framework.Assert;

import org.opencv.android.OpenCVLoader;
import org.opencv.core.Mat;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onResume() {
        super.onResume();

        if (OpenCVLoader.initDebug()) {
            Log.d("test", "Opencv for java load success");
        } else {
            Log.d("test", "Opencv for java load failed!");
        }

        Mat result = OpencvTest.imgAnd("/data/data/gozen/temp.png", "/data/data/gozen/mask.png");
        Log.d("test", "And img Size is: (" + result.cols() + ","
                + result.rows() + ")");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值