我正在尝试使用OpenCV 3.0.0构建一个面部检测android应用程序。我正在关注随opencv提供的示例。我正在使用android-studio并完成了opencv的静态初始化。初始化工作正常。
但是System.loadLibrary("detection_based_tracker");
失败并出现以下错误“无法从loader加载detection_based_tracker:findLibrary返回null ”
我确实搜索了此问题并找到了this链接。我已经安装了NDK并分配了路径。但我无法找到“ jni / application.mk ”文件。
你能帮我解决一下这个错误。
答案 0 :(得分:1)
基本上,您需要修改Android.mk文件,例如
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#OPENCV_CAMERA_MODULES:=off
OPENCV_INSTALL_MODULES:=on
#OPENCV_LIB_TYPE:=SHARED
include /home/cobalt/Android/OpenCV-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_SRC_FILES := DetectionBasedTracker_jni.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_LDLIBS += -llog -ldl
LOCAL_MODULE := detection_based_tracker
include $(BUILD_SHARED_LIBRARY)
注意:更改'包括/home/cobalt/Android/OpenCV-android-sdk/sdk/native/jni/OpenCV.mk'到你自己的OpenCV-android-sdk路径!
以下是OpenCV 3.0人脸检测(在Android Studio中导入)中的示例项目。
使用ndk-build进行手动编译:
使用Experimental Gradle插件:
希望这有帮助。