因为软件竞赛的项目会用到Opencv for Android,所以就研究了一下如何在Android Studio上配置Opencv4Android

环境概述:

Android Studio 2.3

OpenCV-2.4.11-android-sdk

接下来主要是详细的讲解每一步的配置,然后再最后我会放上我做的一个示例项目

1.首先是下载OpenCV-2.4.11-android-sdk

不知道为什么之前上Opencv官网发现Android部分挂了,找了半天没找着下载的地方,最后终于在SourceForge上找到了,所以为了方便大家不用到处找,我把文件传到七牛云了

http://onhdz331f.bkt.clouddn.com/OpenCV-2.4.11-android-sdk.zip

如果不放心的话,大家也可以到opencv官网上去下载这个sdk。

2.依据博友gloomyfish的文章进行配置,博主的视频当中的操作是对的,但是他的文章有些错误,会导致配置失败,或者说的不太清楚的的地方,我下面会补充讲下

OpenCV On Android开发 - Android Studio上环境配置

(1)错误更正  “SDK下面native文件下所有的文件都copy到你创建好的项目libs目录下”这句话有错,应该改为SDK\native\libs文件下所有的文件都copy到项目libs目录下,这样问题解决

(2)错误更正  最后要加到build.gradle(Module:app)的那句

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

应该是要放到build.gradle(Module:app)中的dependencies{}里面,而且不是像他所说的第一行,而是应该放在第二行,也就是这句

compile fileTree(include: ['*.jar'], dir: 'libs')

的下一行。

(3)说得不太清楚的:要放到build.gradle(Module:app)的这部分代码,是直接加在dependencies{}后面的。

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

下面给出完整的build.gradle(Module:app)文件,并加上了注释,表现了应该如何更改

 apply plugin: 'com.android.application'

 android {
compileSdkVersion 25//在不同的android版本中,sdk版本不同
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.a18350.opencvtest"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
} dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')//那句话是加在这里的,而不是加在第一行
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile project(':openCVLibrary2411')
}
//请将两个task放在这里,也就是dependencies后面
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)
}

(4)请注意,还应该要更新build.gradle(module:OpenCVLibrary2411)信息,打开build.gradle(module:OpenCVLibrary2411),修改文件中的

  1)compileSdkVersion

  2)buildToolsVersion

  3) minSdkVersion

  4)targetSdkVersion

其内容与build.gradle(Module:app)中信息相一致,这里做的事情其实是调整sdk的版本,使得编译opencv的sdk,构建工具的版本和app相同。

大功告成,这里放上运行成功的项目地址

http://git.oschina.net/ylzheng/opencv4android_example

大家有不明白的可以看下这个项目,如果有任何问题的话,欢迎在评论中指出。

作者: Elliott Zheng

出处: http://www.cnblogs.com/elliottzheng/p/6695446.html>

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(elliott.zheng@foxmail.com)咨询.

Opencv4android的Android Studio项目配置及实例下载的更多相关文章

  1. Opencv4android的Android Studio环境配置及项目实例下载

    因为软件竞赛的项目会用到Opencv for Android,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 O ...

  2. Android Studio项目Gradle内网配置

    由于内网无法连接到外部网络,在使用Gradle编译Android Studio项目时就会面临一些问题: 1.Gradle安装文件无法下载 2.Gradle Android插件无法下载 3.项目依赖文件 ...

  3. Android Studio项目转Eclipse项目

    Android Studio项目的目录结构和Eclipse项目不同.如何转换? 以FloatingAction 项目为例:实现向上滑动隐藏悬浮按钮,向上滑动显示悬浮按钮. GitHub 地址:http ...

  4. Android Studio项目结构

    我们创建了一个Android Project,打开就如下图所示:  我们选择Project视图,就会有以下的项目文档结构:  上面笔者标注的数字是接下来要讲解的内容. 我们先来看1: 我们创建Appl ...

  5. Android Studio项目整合PullToRefresh的问题记录

    PullToRefresh下拉刷新在App中应用非常频繁,然而PullToRefresh是在ADT下开发完成的.如果要将其整合到Android Studio目录下的话颇费周折.前面的文章“Androi ...

  6. Android学习及开发随记1:Android Studio安装配置

    1.本系列仅为个人使用,概不负责.随着时间推移,部分内容可能因为软件更新而出现不能对应的情况. 本文的配置情况,仅针对Android Studio v1.1.0 windows版本 全新安装. Goo ...

  7. Android studio 下JNI编程实例并生成so库

    Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小 ...

  8. 怎样将android studio项目导入eclipse

    如今,越来越多的开源项目都是用android studio来开发的,所以源码都与eclipse有所不同. 以下是将android studio项目导入eclipse的一般步骤: 1. 先解压项目: 2 ...

  9. Android studio 项目(Project)依赖(非Module)

    Android studio 项目(Project)依赖(非Module) 0. 前言 对于Module 级别的依赖大家都知道,今天说下Android Studio下的项目依赖. 场景: A Proj ...

随机推荐

  1. Keepalived + HAProxy 搭建【第一篇】HAProxy 的安装和配置

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 haproxy-1.7.2.tar.gz 第二步:安装 # tar zxvf haproxy ...

  2. mvc关于三级联动修改时数据回显

    在网上找了好久,都没有找到自己想要的那种效果,最后还是自己写出来了, 虽然方法有点笨. 这是Controller里 public ActionResult Edit(string id) { //查询 ...

  3. Cesium原理篇:3D Tiles(1)渲染调度

    Cesium在2016年3月份左右推出3D Tiles数据规范,在glTF基础上提供了LOD能力,定位就是Web环境下海量三维模型数据.虽然目前3D Tiles还是Beta阶段,有不少硬伤,但3D T ...

  4. Docker存储驱动之OverlayFS简介

    简介 OverlayFS是一种和AUFS很类似的文件系统,与AUFS相比,OverlayFS有以下特性: 1) 更简单地设计: 2) 从3.18开始,就进入了Linux内核主线: 3) 可能更快一些. ...

  5. Modbus软件开发实战指南 之 开发自己的Modbus Poll工具 - 2

    接上一篇文章的内容. 看了前面需求提到的复杂的命令行解析功能,很多人立马开始发怵,其实大可不必. 我们都知道,Linux下的程序往往都提供了复杂的命令行参数处理机制,因为这是与 其他程序或用户进行交互 ...

  6. 剑指offer_数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P. 并将P对1000000007取模的结果输出. 即输出P%100 ...

  7. Android -- 自定义ScrollView实现放大回弹效果

    1,刚刚在别人开源的项目中看到了一个挺不错的用户体验,效果图如下: 2,那下面我们就来实现一下,首先看一下布局,由于一般只是我们包含头像的那部分方法,所以这里我们要把布局分成两部分,对应的布局文件效果 ...

  8. Vuex 模块化实现待办事项的状态管理

    前言 在vue里,组件之间的作用域是独立的,父组件跟子组件之间的通讯可以通过prop属性来传参,但是在兄弟组件之间通讯就比较麻烦了.比如A组件要告诉一件事给B组件,那么A就要先告诉他们的爸组件,然后爸 ...

  9. otool是mac自带的工具

    找了一晚上otool的安装包,到最后才发现mac自带otool

  10. SpringMVC中重定向底层原理

      只要将数据放入model中, 也能取到值,原因是model临时放入session域中,当从定向到另一个url时,底层把数据拼接在url地址后面(重定向一定是get请求方式),同时将session域 ...