参考基于android studio开发的 opencv关于android人脸识别的DEMO
前言
/build/core/add-application.mk:178: *** Android NDK: APP_STL gnustl_shared is no longer supported. Please switch to either c++_static or c++_shared. See https://developer.android.com/ndk/guides/cpp-support.html for more information. . Stop.
[armeabi-v7a] SharedLibrary : libface_detection.so
G:/software/android/projects/opencv/CameraTutorial/app/src/jni/haar_detect.cpp:39: error: undefined reference to 'cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::__ndk1::vector<cv::Rect_<int>, std::__ndk1::allocator<cv::Rect_<int> > >&, double, int, int, cv::Size_<int>, cv::Size_<int>)'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [G:/software/android/projects/opencv/CameraTutorial/app/src/obj/local/armeabi-v7a/libface_detection.so] Error 1
如果有人遇到以上报错可以参考我的 解决android studio3 导入opencv后ndk-build编译遇到的问题
本文不会有上述两个报错
一软件环境
Android studio使用的3.0版本。下载的ndk是19。
opencv从官网下载的4.0
下载后的opencv目录如下
OpenCV-android-sdk
-samples
-sdk
这次我们用的人脸识别项目就是OpenCV-android-sdk\samples\face-detection
这个目录下的FdActivity.java文件是人脸识别的界面程序,打开看下
package org.opencv.samples.facedetect;
第一行是包名一会我们新建一个和这个包名一样的程序就能少改好多了