Android Studio中人脸匹配,Android studio3.0上运行opencv3.2.0自带人脸识别实例demo

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

开发环境win10

android studio 3.0

android studio 的安装过程网上有很多,不再赘述。

打开opencv下载地址,往下拉,找到并下载对应版本的android包,如下图

718b17d964820b435658415b87e5b888.png 下载后解压,解压后的目录是这样:

7e2a79e1133cf431ae754e1428da8484.png

其中,apk 是示例安装包

samples是示例代码(eclipse工程)

sdk是opencv库

开始导入项目

打开android studio ,选择import project(Gradle,Eclipse ADT,etc.)

92e2018e9f2203ea6be300745bb7deff.png 选择samples下的face-detection项目

2df3daeb1cd1ea4a54837aa9cd0fa3ef.png 点击ok后选择工程要放置的位置,然后next

210caacd7b16b648560aab19c018605e.png 接下来都保持默认即可,点finish

7f5e37650c2eeb857f81b95cf3df4faf.png 由于这个自带demo的api版本,gradle版本等与你电脑的不同,所以不出意外的话,出错是肯定的。

6ab7cf5ad2ea7b3e7feae2c253224f2a.png 这个错是说gradle版本不对,当前项目的版本是2.14.1,而我的电脑里已有的版本是4.1,因此打开gradle-wrapper.properties文件,把版本改为4.1(或者你电脑已有的可用的一个版本)就行了。如果不知道自己该用哪个版本,可以找一个可以运行的项目(比如新建个最简单的hello world项目,只要能运行就行),看一下它里面的gradle-wrapper.properties文件用的gradle版本就行了。

c13f096e579b2c2b19bee84f56276fdd.png

ae74246a1fc9413ffc5671edfdb794bd.png

可以看出,更改后那个错是没有了,又出现一个新的错误:

Error:Failed to find target with hash string 'android-14' in: E:Androidandroid-sdk

Install missing platform(s) and sync project

很明显,是api版本不对。打开moudle的build.gradle(不是project的),这里有两个moudle,所以要改两处,别忘了主moudle所依赖的opencvLibrary这个moudle也要改。

c35eb09258dfa0d7436ff70420d4a655.png

2b053ac2bddbf0be30cc46a01da54cfd.png 可以看出,下面这四个版本修改为你电脑配置的可用的版本之后,令人欢呼的BUILD SUCCESSFUL !出现了!惊喜不惊喜,意外不意外~compileSdkVersion

buildToolsVersion

minSdkVersion

targetSdkVersion

至于具体要改为哪个版本,同上面一样,找一个可运行的项目,看一下它里面怎么配置的,这里也怎么配置。

到这里就结束了吗?当然没有,道路是曲折的。

运行到模拟器或真机上后会出现,找不到opencv manager的提示,提示你安装,但是很可能安装失败。这是opencv在试图调用你手机本地的库,这种调用方式成为动态库,但是你手机上没安装opencv amnager这个应用库啊,所以找不到喽。

这时候,可以使用调用opencv静态库的方式。所谓静态库,就是把要哦调用的库提前都打包到apk中去,这样运行的时候调用自带的库就行了,不用在调用运行环境中的寻找需要调用的库。

两种方式的优缺点也很明显,静态库对运行环境没有要求,因为自带的有,缺点是安装包大,因为自带库了嘛;动态库刚好相反,要求运行环境中必须有相关库,优点是安装包小。

具体做法是,将opencv-3.2.0-android-sdkOpenCV-android-sdksdknative下的libs文件夹复制到openCVSamplefacedetectionsrcmain下,并重命名为jniLibs

cea4d4b21addd7510bc4c71ce45de0e0.png

这时候却出现了另一个错误!

5e3e4a41c5c4b758b1a6f50dbd4a8326.png

Error:Execution failed for task ':openCVSamplefacedetection:compileDebugNdk'.

> Error: Your project contains C++ files but it is not using a supported native build system.

Consider using CMake or ndk-build integration. For more information, go to:

https://d.android.com/r/studio-ui/add-native-code.html

Alternatively, you can use the experimental plugin:

https://developer.android.com/r/tools/experimental-plugin.html

原因是没有设置ndk

8a0c5e6570ba843937d3b0590b14d301.png

003a9fadc8677feeff1b2c6c680b81fa.png

至此,大功告成!参考文章:https://www.2cto.com/kf/201707/656287.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值