[toc]
---
#<center>**AS 导入 OpenCV 工程之 face-detection**</center>
---
#***TODO***
- []
---
#**Reference**
* [AndroidStudio2.2上opencv开发环境搭建](http://blog.csdn.net/ddjjll8877/article/details/52669593 "http://blog.csdn.net/ddjjll8877/article/details/52669593")
* [AS2.2使用CMake方式进行JNI/NDK开发](http://www.jianshu.com/p/cb3064450688 "http://www.jianshu.com/p/cb3064450688")
* [AndroidStudio2.2下利用CMake编译方式的NDK opencv开发](http://blog.csdn.net/ddjjll8877/article/details/52670097 "http://blog.csdn.net/ddjjll8877/article/details/52670097")
* [Android Studio 2.2 NDK开发 opencv 人脸识别](http://blog.csdn.net/a992036795/article/details/53200353 "http://blog.csdn.net/a992036795/article/details/53200353")
---
#**准备工作**
(见 [【Eclipse 导入 OpenCV 工程之 face-detection】](https://github.com/weichao66666/face-detection "https://github.com/weichao66666/face-detection"))
---
#**导入工程**
##**打开 AS 并创建新工程**
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/01.png)
##**从 Android 视图转为 Project 视图**
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/02.png)
##**添加 NDK 支持**
>File -> Project Structure...
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/03.png)
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/04.png)
##**导入 lib 模块**
>File -> New -> Import Module...
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/05.png)
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/06.png)
###**非正常情况**
####**target 未找到**
#####**Question**
> Error:Failed to find target with hash string 'android-*' in: *
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/07.png)
#####**Why**
未安装 Android 14 的 SDK。
#####**Answer**
换成已安装的版本。
源代码:
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/08.png)
修改为:
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 25
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
重新编译。
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/09.png)
##**添加 app 模块对 lib 模块的引用**
>File -> Project Structure...
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/10.png)
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/11.png)
选择 lib。
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/12.png)
##**添加 app 模块的 JNI lib**
###**新建 jniLibs 目录**
>右键 main -> New -> Directory
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/13.png)
###**复制 JNI lib 文件到 jniLibs**
JNI lib 文件所在目录:D:\OpenCV-3.2.0-android-sdk\sdk\native\libs
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/14.png)
###**配置 JNI lib**
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/15.png)
修改后,代码为:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "io.weichao.face_detection"
minSdkVersion 18
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-std=c++11 -frtti -fexceptions"
abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'mips64'
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
sourceSets {
main {
jniLibs.srcDirs = ['D:\\android_studio_workspace\\Face_Detection\\app\\src\\main\\jniLibs']
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
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.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
testCompile 'junit:junit:4.12'
compile project(':openCVLibrary320')
}
###**重新编译**
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/16.png)
##**复制 face-detection 工程的资源文件到 app 模块**
资源文件所在目录:D:\OpenCV-3.2.0-android-sdk\samples\face-detection\res
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/17.png)
##**删除 app 模块 java 文件,复制 face-detection 工程的源代码文件到 app 模块**
源代码文件所在目录:D:\OpenCV-3.2.0-android-sdk\samples\face-detection\src
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/18.png)
##**替换 AndroidManifest.xml**
AndroidManifest.xml 文件路径:D:\OpenCV-3.2.0-android-sdk\samples\face-detection\AndroidManifest.xml
##**删除 app 模块 C/C++ 文件,复制 face-detection 工程的 C/C++ 文件到 app 模块**
C/C++ 文件所在目录:D:\OpenCV-3.2.0-android-sdk\samples\face-detection\jni
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/19.png)
##**修改 CMakeLists.txt**
#CMake版本信息
cmake_minimum_required(VERSION 3.4.1)
# 支持-std=gnu++11
set(CMAKE_VERBOSE_MAKEFILE on)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
# 工程路径
set(pathToProject D:/android_studio_workspace/Face_Detection)
# OpenCV-android-sdk路径
set(pathToOpenCv D:/OpenCV-3.2.0-android-sdk)
# 配置加载native依赖
include_directories(${pathToOpenCv}/sdk/native/jni/include)
# 添加待编译的cpp文件
add_library(detection_based_tracker SHARED ${pathToProject}/app/src/main/cpp/DetectionBasedTracker_jni.h ${pathToProject}/app/src/main/cpp/DetectionBasedTracker_jni.cpp)
# 动态方式加载
add_library(lib_opencv SHARED IMPORTED)
# 引入libopencv_java3.so文件
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${pathToProject}/app/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
target_link_libraries(detection_based_tracker lib_opencv log)
###**非正常情况**
####**无法使用导入的包**
#####**Question**
>Unused import statement
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/20.png)
#####**Why**
* [C语言中<>和“”有什么区别](https://zhidao.baidu.com/question/488136758.html "https://zhidao.baidu.com/question/488136758.html")
`<>`是在系统默认的目录里找头文件,`""`是在和你的当前代码文件相同的目录里找头文件。源代码不严谨,所以此处找不到文件。
#####**Answer**
修改代码`#include <DetectionBasedTracker_jni.h>`为`#include "DetectionBasedTracker_jni.h"`
####**函数未定义**
#####**Question**
>undefined reference to `__android_log_print'
![](https://github.com/weichao66666/Face_Detection/raw/master/README.md-images/21.png)
#####**Why**
* [undefined reference to `__android_log_print'](http://stackoverflow.com/questions/4455941/undefined-reference-to-android-log-print "http://stackoverflow.com/questions/4455941/undefined-reference-to-android-log-print")
OpenCV SDK 中的 liblog.so 未导入。
#####**Answer**
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
资源推荐
资源详情
资源评论
收起资源包目录
Android Studio(AS) 导入 OpenCV 的 face-detection(人脸识别)工程.zip(毕设&课设& (303个子文件)
libopencv_core.a 7.64MB
libopencv_imgproc.a 7.58MB
libopencv_imgproc.a 6.23MB
libopencv_core.a 5.34MB
libopencv_imgproc.a 5.33MB
libopencv_core.a 5.14MB
libopencv_imgproc.a 4.51MB
libopencv_imgproc.a 4.47MB
libopencv_imgproc.a 4.46MB
libopencv_imgproc.a 4.35MB
libopencv_core.a 4.12MB
libopencv_core.a 3.92MB
libopencv_core.a 3.9MB
libopencv_calib3d.a 3.89MB
libopencv_core.a 3.75MB
libopencv_calib3d.a 2.77MB
libopencv_ml.a 2.54MB
libopencv_photo.a 2.42MB
libopencv_calib3d.a 2.29MB
libopencv_calib3d.a 2.21MB
libopencv_calib3d.a 2.2MB
libopencv_calib3d.a 2.06MB
libopencv_features2d.a 2.04MB
libopencv_stitching.a 1.85MB
libopencv_ml.a 1.79MB
libopencv_photo.a 1.74MB
libopencv_calib3d.a 1.73MB
libopencv_photo.a 1.56MB
libopencv_ml.a 1.56MB
libopencv_flann.a 1.52MB
libopencv_features2d.a 1.51MB
libopencv_ml.a 1.35MB
libopencv_photo.a 1.34MB
libopencv_stitching.a 1.32MB
libopencv_photo.a 1.3MB
libopencv_ml.a 1.26MB
libopencv_ml.a 1.25MB
libopencv_ml.a 1.25MB
libopencv_features2d.a 1.25MB
libopencv_flann.a 1.23MB
libopencv_imgcodecs.a 1.2MB
libopencv_photo.a 1.19MB
libopencv_photo.a 1.18MB
libopencv_features2d.a 1.18MB
libopencv_features2d.a 1.17MB
libopencv_stitching.a 1.15MB
libopencv_flann.a 1.13MB
libopencv_features2d.a 1.11MB
libopencv_flann.a 1.08MB
libopencv_features2d.a 1.07MB
libopencv_videostab.a 1.06MB
libopencv_flann.a 1.05MB
libopencv_stitching.a 1.02MB
libopencv_stitching.a 1.01MB
libopencv_objdetect.a 1018KB
libopencv_stitching.a 1013KB
libopencv_stitching.a 1001KB
libopencv_video.a 977KB
libopencv_flann.a 969KB
libopencv_flann.a 878KB
libopencv_imgcodecs.a 872KB
libopencv_imgcodecs.a 814KB
libopencv_shape.a 778KB
libopencv_videostab.a 754KB
libopencv_imgcodecs.a 713KB
libopencv_objdetect.a 712KB
libopencv_imgcodecs.a 705KB
libopencv_imgcodecs.a 694KB
libopencv_video.a 685KB
libopencv_videostab.a 663KB
libopencv_objdetect.a 646KB
libopencv_imgcodecs.a 608KB
libopencv_videostab.a 603KB
libopencv_objdetect.a 594KB
libopencv_video.a 588KB
libopencv_videostab.a 574KB
libopencv_videostab.a 570KB
libopencv_videostab.a 561KB
libopencv_objdetect.a 560KB
libopencv_objdetect.a 556KB
libopencv_objdetect.a 550KB
libopencv_shape.a 529KB
libopencv_video.a 517KB
libopencv_video.a 504KB
libopencv_shape.a 482KB
libopencv_video.a 459KB
libopencv_video.a 445KB
libopencv_shape.a 421KB
libopencv_superres.a 413KB
libopencv_shape.a 401KB
libopencv_shape.a 397KB
libopencv_shape.a 387KB
libopencv_videoio.a 386KB
libopencv_superres.a 307KB
libopencv_videoio.a 283KB
libopencv_videoio.a 283KB
libopencv_superres.a 281KB
libopencv_superres.a 255KB
libopencv_superres.a 250KB
libopencv_superres.a 247KB
共 303 条
- 1
- 2
- 3
- 4
资源评论
热爱技术。
- 粉丝: 2958
- 资源: 7864
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5MW永磁同步风机-1200V直流混合储能并网MATLAB仿真 MATLAB2016b运行 主体模型: 风机传动模块、PMSG模块、蓄电池模块、超级电容模块、无穷大电源 蓄电池控制、风机控制、逆变
- Java毕设项目:基于spring+mybatis+maven+mysql实现的学习交流论坛管理系统分前后台【含源码+数据库+开题报告+毕业论文】
- B站新玩法教程,搬运混剪,单日引流创业粉.mp4
- 威纶通触摸屏宏指令红绿灯控制程序 威纶通触摸屏宏指令红绿灯控制程序,MT8071iE触摸屏 利用宏指令程序来控制,按下启动按钮,红绿灯系统运行,宏指令注释清晰,方便理解程序 具有很好的学习意义
- 游戏合伙人暴利详细讲解.mp4
- 微信视频号大风口项目,多赛道选择,可矩阵,玩法简单轻松上手.mp4
- 光伏-混合储能微电网模型 光储微电网模型主要包括发电模块,储能模块,并网模块及控制系统模块 其中储能模块由蓄电池和超级电容并联构成,并网电压等级为10kv,混合储能的功率分配采用一阶低通滤波控制算法
- Java毕设项目:基于spring+mybatis+maven+mysql实现的旅行社管理系统【含源码+数据库+毕业论文】
- 基于PLC版的配方功能块,通过简单的设置即可分配配方的行数和列数存储数据,省去你通过触摸屏编写宏的繁琐操作 封装好的功能块即添加即用,为你的项目添油助力,功能有:配方查找,增加,修改,复制,粘贴,删
- 考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度 摘要:代码实现了一种兼顾低碳性与经济性的优化调度模型 首先考虑气负荷的实际碳排放,完善实际的碳排放模型,并引入阶梯式碳交易机制进一步约束了
- 快手全新组合玩法,解放双手,自动撸金,可矩阵操作.mp4
- 闲鱼轻资产 当日出单 0成本 利用人性玩法 不断复购.mp4
- 新玩法视频号批量带货,操作简单可多号账号分发.mp4
- 主播运营拉爆自然流,做懂流量的主播.mp4
- windows 11系统打印机共享修复工具
- 四参数随机生长法 QSGS算法 随机孔隙结构 微观孔隙优化处理 多孔介质 随机生长软件 生成图片,可完美处理为CAD图, 可导入abaqus、ansys、comsol、fluent
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功