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 ...
随机推荐
- IDEA--生成jar包并且导出jar包
PS:首先在idea中新建一个java文件,且带有main方法(不带有main好像不能导出,不确定) 参考文章:http://www.cnblogs.com/blog5277/p/5920560.ht ...
- 用git如何把单个文件回退到某一版本
暂定此文件为a.jsp 1.首先到a.jsp所在目录: 通过 git log a.jsp 查看a.jsp的更改记录 2.找到想要回退的版本号:例如 fcd2093 通过 git reset fcd ...
- 四、UI开发之核心基础——约束(实用)
概述 本节将会介绍最常用的几种约束,基本可以满足90%以上的UI布局要求. 先附上一份其他优秀博客https://blog.csdn.net/companion_1314/article/detail ...
- WGDC2019第八届全球地理信息开发者大会(北京)
WGDC2019第八届全球地理信息开发者大会 会议召开时间:2019-07-09 08:00至 2019-07-10 18:00结束 会议召开地点:北京 北京国际会议中心 朝阳区北辰东路8号 会议 ...
- ASP.NET CORE 2.0 Uses SignalR Technology
https://www.codeproject.com/Articles/1208322/ASP-NET-CORE-Uses-SignalR-Technology
- 《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则
笔记 (借鉴请改动) 5.3:文件特殊权限 SUID 临时拥有文件所有者的权限(基本上只是执行权限) SGID 临时拥有文件所有组的权限,在目录中创建文件自动继承该目录的用户组. SBIT 粘滞 ...
- CSS 步骤进度条
;;; } .wizard li {;; text-align: center; line-height: 30px; height: 30px; background-color: #C3C3C3; ...
- Delphi中的消息 (转载)
消息是Windows发出的一个通知,它告诉应用程序某个事件发生了.在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中,我们只需处理相应的VCL事件就可以了,但如果我们需要编写自己 ...
- Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable
看错误信息,发现1048576个字节,正好是1*1024*1024byte,也就是1Mb. 这正是mysql默认的max_allowed_packet值. 使用sql语句: show VARIABLE ...
- npm 传入参数
你可以运行类似npm start 8080的代码,并且不需要去修改script.js或者配置文件: 例如,在你的"scripts"JSON值,包括-- "start&qu ...