Sets the library as a shared library.
SHARED
Provides a relative path to your source file(s).
hxgopencv-lib.cpp)
Searches for a specified prebuilt library and stores the path as a
variable. Because CMake includes system libraries in the search path by
default, you only need to specify the name of the public NDK library
you want to add. CMake verifies that the library exists before
completing its build.
find_library( # Sets the name of the path variable.
log-lib
Specifies the name of the NDK library that
you want CMake to locate.
log)
Specifies libraries CMake should link to your target library. You
can link multiple libraries, such as libraries you define in this
build script, prebuilt third-party libraries, or system libraries.
target_link_libraries( # Specifies the target library.
人脸识别
hxgopencv-lib
opencv_java3
#加入该依赖库 undefined reference to `AndroidBitmap_getInfo’
jnigraphics
Links the target library to the log library
included in the NDK.
${log-lib})
- 加载级联选择器
/**
- 加载人脸识别的分类器文件
*/
private void copyCaseCadeFile() {
try {
// load cascade file from application resources
InputStream is = getResources().openRawResource(R.raw.lbpcascade_frontalface);
File cascadeDir = getDir(“cascade”, Context.MODE_PRIVATE);
mCascadeFile = new File(cascadeDir, “lbpcascade_frontalface.xml”);
if (mCascadeFile.exists()) return;
FileOutputStream os = new FileOutputStream(mCascadeFile);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
-
加载人脸识别的分类器文件
-
@param filePath
*/
public native void loadCascade(String filePath);
#include <jni.h>
#include
#include “opencv2/opencv.hpp”
#include “android/bitmap.h”
#include “android/log.h”
//使用命名空间
using namespace cv;
using