Opencv-Android安装使用
这是本人第一篇博客,写博客并不是说本人的技术能力有多强,或者说炫耀自己取得的进展。在当今这个数据信息大爆炸的年代,每个人肯定会接受很多新鲜事物,但不是所有东西你都能记得一清二楚,写博客一方面是为了巩固加深自己的学习;另一方面,一直在各博客上学习他们的思路和方法,自己也想加入这个集体里面,为别人提供一些帮助。
言归正传,最近接到了一个人脸识别移动平台搭建的任务,大体任务是:图像处理过程全部用C++处理,之后将处理的结果用JNI的方式传给手机端显示出处理过后结果。
在网上大约按自己的思路搜了下解决方案,Opencv有个Android版本,可以导进Eclipse 和AS里面,用于手机端的图像处理识别,完美符合项目要求。
opencv-androd 的下载地址:https://opencv.org/releases.html 下载完之后解压到一个不含中文的目录下
在安装上面,出现了大约两种思路:
1)手动配置JNI,配置mk文件
2)用最新的AS里面自带的C++选项进行添加
(PS:这里出现了两种思路,仁者见仁智者见智,如果十分清楚JNI,可以下载最新版本的AS里面自带c++选项,省掉了很多繁琐步骤;如果对JNI不是很熟悉,可以先手动配置一次JNI,加深自己对知识的理解)
本文主要以第二种方法为主,第一种方法网上有一大把,可以参考他们的博客 这是我的下载的版本号:Android studio 版本为3.1.2 opencv-Android为3.4.1
step1:
step2:
之后一路next 直到step3:
之后创建成功后,可以看下app下面有一个cpp 和java 文件夹,直接运行就可以看到,“hello world from C++”证明自己一开始创建的环境没错,如果中间有报错,提示缺少XXX插件之类的,按照log里面的提示下载安装即可。
之后 点击 File》Setting》Android SDK》SDK tools 如图 有缺少的点击下载即可。
之后我们添加Opencv341到我们的Android Studio 里面,点击File》New》import modul 如图选择下载的opencv-Android的java文件夹
之后不要做任何修改一直next,成功后会看到添加了另一个文件夹openCVLibrary341,证明添加成功
之后点击File》Project Structure,如图顺序点击
添加 点击finish。
这时就可以在MainActivity里面导入opencv
这时,将 (Modul:opencvLibrary341) compileSdkVersion minSdkVersion targetSdkVersion全部改成和(Modul:app)下的保持一致后,点击编辑栏右上方的
切换到project选项
在app/src/main文件夹下创建一个目录为JniLibs 将下载的opencv-Android-sdk 下的OpenCV-android-sdk\sdk\native\libs 下的所有内容,拷贝到该目录里面。
在AndroidManifest.xml文件添加如下代码 如图
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/> <supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
点击app下的Cmake文件,修改cmake文件内容如下
set(pathOPENCV D:/software/OpenCV-android-sdk) set(pathPROJECT D:/codezoom/UseOpenCvwithCmake) 一定要以自己安装文件为主
点击 Build》Rebuild 查看配置的有什么问题,(出错后我认为一定要检查两点 1.复制win10下的目录要把 \ 改成 / 否则找不到文件 2.仔细查看目录是否正确)
这时我们点击cpp下的文件,发现我们可以添加opencv的头文件了
大功告成!!!!!!!!!!!!!
参考博客:http://webnautes.tistory.com/1054 (可能需要翻墙)
Opencv-Android安装使用的更多相关文章
- OpenCV - Android Studio 中集成Opencv环境(包含opencv_contrib部分)
我在上一篇博客中说到了在Android中集成OpenCV,但是那个版本的OpenCV是没有SIFT和SURF算法的,因为这些算法是受专利保护的,所以并没有被包含在预编译库中,所以如果想要使用SIFT和 ...
- OpenCV的安装与系统环境变量
OpenCV的安装与系统环境变量 安装OpenCV本来是很简单的一件事,但配置却很麻烦.而且在配置过程中尤为重要的步骤就是系统环境变量的配置.我使用的是CodeBlick13.12与OpenCV1.0 ...
- org.opencv.android.JavaCameraView 摄像机方向的问题
——> org.opencv.android.JavaCameraView 摄像机方向的问题 ref: http://www.tuicool.com/articles/q6vUvqB 注意:一般 ...
- Android - 安装 windows 7 安装 Android SDK 的时候出现的问题!(Connection to https://dl-ssl.google.com refused)
Android - 安装 windows 7 安装 Android SDK 的时候出现的问题! 首先看到 Connection to https://dl-ssl.google.com refuse ...
- vs2015 Xamarin.Android安装
原文:vs2015 Xamarin.Android安装 Xamarin.Android 安装步骤,以vs2015为例 1,安装vs2015中的跨平台项,但是安装在国内肯定失败,因为需要到谷歌下载 当我 ...
- openCV python 安装
0, 用 import cv 测试,发现没有安装 opencv 模块. 首先先说本开发环境是在windows xp的环境下进行搭建的. 在搭建的过程中需要保证这三个条件: 1.python需要安装py ...
- Android安装 sdk+jdk+Eclipse+Adt开发工具
根据别人提供的手册和安装过程体验加以更新和详细描述 安装Android开发工具 开发Android应用程序的门坎并不高,因为Google已经为Android应用程序开发提供了免费而且跨平台的集成开发环 ...
- Android 安装过程中的问题
Android 安装过程中的问题 上一篇我说到配置android环境,但是在具体的安装过程中,因为下载的软件或者方法不同,导致没有正确的结果,如果有一些错误的时候,可以试一试关闭eclipse软件, ...
- 如何给你的Android 安装文件(APK)瘦身
如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet 原作者:Cyril Mottier Android的apk文件越来 ...
- Anaconda+linux +opencv+dlib安装
准备文件Anaconda: https://www.anaconda.com/download/ 我下载的时最新的 64-Bit (x86) Installer (524 MB) 然后在下载的anac ...
随机推荐
- 【数据可视化-Echarts】Echart基础
林峰老师Echart基础课程笔记
- 颜色模式、DPI和PPI、位图和矢量图
颜色模式:用于显示和打印图像的颜色模型 RGB:电子设备的颜色 CMYF:印刷的颜色 印刷的图像分辨率大于等于120像素/厘米,300像素每英寸 图像分辨率单位为PPI(每英寸像素Pixel per ...
- (3.1)mysql备份与恢复之mysqldump
目录: 1.单实例联系 1.1.备份单个数据库联系多种参数使用 [1]mysqldump命令备份演示 [2]查看备份文件 [3]用备份文件还原 1.2.mysqldump 各类参数释义 [1]--de ...
- utf8 vs utf8mb4
UTF-8 is a variable-length encoding. In the case of UTF-8, this means that storing one code point re ...
- 实验一:C++简单程序设计
[实验一] #2-28 实现一个简单的菜单程序,运行时显示“Menu:A(dd) D(elete) S(ort) Q(uit),Selete one:”提示用户输入.A表示增加,D表示删除,S表示排序 ...
- 裸奔的bootloader单步调试
2011-03-01 23:25:22 目地:更清晰的了解bootloader的结构及功能.为移植U-boot打基础. 以前只知道大概,今天利用IAR调试工具,看着汇编代码,看着寄存器,看着内存.来单 ...
- 根据MAC地址获取网络地址及ZDP_NwkAddrReq函数的用法
1..对于设备需要获取本设备的网络地址和MAC地址: NLME_GetShortAddr()——返回本设备的16位网络地址 NLME_GetExtAddr()—— 返回本设备的64位扩展地址 2.使 ...
- C++找不出来的bug
1.在函数中给指针赋值时候要极其注意: 新生成的指针要么是new出来的,要么是全局的,要么是传参过来的... 就是要切记在函数局部生成一个新指针,这样的话,出了这个函数,局部的新指针所具体代表的值就被 ...
- Kali Day01 --- arpspoof命令进行断网攻击(ARP欺骗)
root@kali:~/文档# arpspoof -i eth0 -t 172.20.151.* 172.20.151.1 34:64:a9:36:4:b7 0:0:0:0:0:0 0806 42: ...
- [C++ Primer Plus] 第5章、循环和关系表达式(一)程序清单——指针自加减优先级
程序5.4 #include<iostream> using namespace std; ; void main() { long long factorials[Size]; fact ...