Android:Android Studio导入OpenCV(Android项目)
在使用OpenCV之前,Android必须先下载ndk,因为OpenCV使用了native代码,这里建议Android Studio创建C++项目来写OpenCV的内容
1、首先在官网下载OpenCV第三方包
下载链接:https://opencv.org/releases/
2、查看下载后的文件目录

samples文件夹里面是一些样例,sdk文件夹是我们需要的第三方包
此时将整个sdk文件夹导入到项目中也是可以的,但是900M的文件夹会让项目很庞大,所以我们要导入项目的是sdk包下的一个java包
3、在项目中导入第三方包


点击Next,然后点击确认进行导包
将java代码作为模块导入之后,我们还得导入配置包,在sdk文件夹-->native文件夹-->libs文件夹里面的四个以os为后缀的文件
在OpenCV模块下创建libs目录,然后将四个文件复制进去。
这四个文件加起来有100M了,还是挺庞大的,这里我知道了自己手机需要的是哪一个文件夹,最后我只留下了第一个文件

4、修改项目配置
我们要修改OpenCV包下的 build.gradle 文件夹,让里面的sdk版本与项目一致

将文件中的application改为 library,并且将applicationId删掉,因为我们要做的是引用这个包

然后在app目录的build.gradle文件的依赖中导入OpenCV,括号里面是冒号和刚才导入模块的命名

我们将libs文件加入到项目中,还得让编译器知道,所以要修改app的build.gradle文件(如果libs放在opencv包里就修改opencv包里的文件),才能运行OpenCV

5、在项目中使用OpenCV测试一下

查看是否成功,如果是使用Android普通项目肯定是不成功的,运行后会报错,因为少了一个运行OpenCV很重要的文件 libc++_shared.so

接下来我们通过C++项目(普通的Android项目没有)自动创建这个文件
6、创建C++项目

这是一个全新的项目,需要导入OpenCV第三方包和修改build.gradle文件,也就是再做一遍上面的流程
c++项目的app目录下带有一个libs文件夹,所以将原来在opencv库下libs文件夹的内容复制到app目录下(libs包换位置后,记得修改app目录的build.gradle文件),文件结构如下

所以文件要加上这两段,使用C++项目在build完了之后就会创建 libc++_shared.so 这个文件(clean之后会删除)
8、完成
按理说这样子我们的项目就可以运行了,也解决了没有 libc++_shared.so 这个文件的问题
如果你不想使用C++项目,在这个C++项目的文件里面已经创建了一个 libc++_shared.so文件,去把它复制到普通Android项目的opencv包的libs目录对应的文件夹就可以了
复制的时候要找准对应版本的libc++_shared.so文件

Android:Android Studio导入OpenCV(Android项目)的更多相关文章
- [Android] Visual Studio Emulator For Android 相关
1.修改设备名 C:\Users\[用户名]\AppData\Local\Microsoft\VisualStudioEmulator\Android\Containers\Local\Devices ...
- 使用Android Studio导入第三方库项目
在使用Android Studio开发时,用到了第三方库SlidingMenu(现在已经不推荐使用了),尽管如此,但具体怎么导入第三方库还是需要知道的,在查阅各种资料后,知道了一种比较容易可行的方法 ...
- 用Android studio进行 OpenCV 开发的第一个项目
我的天! 折腾了好久终于搭建成功了第一个项目. 项目环境: Windows 7 家庭普通版 64位 Android studio 1.5.1 OpenCV-2.4.9-android-sdk 基于 ...
- 将AOSP源码导入到Android Studio进行查看
生成iml和ipr文件 source build/envsetup.sh lunch aosp_x86-eng # 或者直接输入lunch,然后选择对应的target make idegen deve ...
- Android Studio导入Android 4.4.4r1的源码
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70339471 一.环境配置 1.ubuntu 14.04.5 x64bit 2.j ...
- Android学习七---Hello OpenCV samples
创建一个能够使用OpenCV JavaCameraView的应用程序来了解基于OpenCV java API 的应用程序的开发流程.有了Android的基础,在程序中需要修改的几个地方1.activi ...
- 高强度学习训练第二天总结:Opencv+Android+CameraView小demo
前言:网上已经有很多人将Opencv集成进Android项目中了.因此我只给大家看Gradle文件和项目目录. 1.gradle 三个gradle script // Top-level build ...
- 【Android学习】Windows下Android环境搭建
一. JDK下载配置 直接百度,很简单. 二.android JDK下载配置 1.进入下载官网(需要FQ):https://developer.android.com/studio/index.ht ...
- Android学习十二---在android上实现图像匹配
一.效果图及功能描述 效果图 点击ShowImg后 点击match,然后点击showmatch,可以不断点击showmatch. 主要功能描述:显示在SD卡上已经存在的图片test.jpg,根据图片在 ...
随机推荐
- Custom Controller CollectionQT样式自定义 002 :NoteSlider 标签滑动条
先上效果图 这个效果可以根据需求再定制,比如说文本框换成一个点下出现的气泡,跟随游标移动. 思路:继承QSlider,重写鼠标事件,添加label部件,定义其动作事件 源码:https://githu ...
- 26、linux文件系统
- Pptx的多路径形状转为WPF的Path
本文是将演示如何解析pptx文件的多路径的形状转换到WPF,绘制多个Shape的Path Shape Path 这是Pptx的[标注:弯曲曲线(无边框)]形状的OpenXml定义部分: <cal ...
- SpringMVC(7)格式化显示
在SpringMVC(六)数据验证中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来.保存的数据会用于以后的展示,这才是保存的价值.那么在展示的时候如何按照要求显示?(比如:小 ...
- Android hacking event 2017
1.you can't find me, 老规矩先打开jeb,然后看下主活动, 发现又调用了mainthread类的startWrites方法,继续跟进去. 发现是新建了一个随机输入流的文件对象,然后 ...
- hfctfwp(re)
1.easy python revering 看字节码操作,昂哥直接看直接写exp太强了,我就直接手动写了个源码出来(昂哥永远滴神) arr0=[249,91,149,113,16,91,53,41, ...
- pxe+kickstart部署多个版本的Linux操作系统(下)---实践篇
我们在企业运维环境中,难免会遇到使用多个Linux操作系统的情况,如果每天都需要安装不同版本的Linux系统的话,那么使用Kickstart只能安装一种版本的Linux系统的方法则显得有些捉襟 ...
- c语言:scanf(" %c",&bla); scanf("%c",&bla); 语句差别
%前有空格,%没有空格 scanf("%c",&c) 与 scanf(" %c",&c),后者只是在%前多了个空格,似乎没有什么区别,但使用起来 ...
- SLAM的数学基础(1):什么是方差,有什么意义?
小红班上有两组同学的数学考试分数为: 第一组:小红:100分,小明:60分,小宇:20分 第二组:小蓝:70分,小华:60分,小杰:50分 那么很容易算出,第一组的平均分是60分,第二组的平均分也是6 ...
- POJ3048
素数筛,数据范围不大,直接暴力筛. 坑:有个数据是 1 1,答案是1.差点没把我卡去世. 我的三观哪去了. #include<iostream> #include<cstdio> ...