Android OpenCV - 无法加载detection_based_tracker

时间:2015-11-17 18:19:28

标签: android opencv android-ndk

我正在尝试使用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 ”文件。

你能帮我解决一下这个错误。

1 个答案:

答案 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中导入)中的示例项目。

  1. 使用ndk-build进行手动编译:

  2. 使用Experimental Gradle插件:

  3. 希望这有帮助。