我使用的是openCV for Android 2.4.9版本,在eclipse下使用JNI实现人脸定位功能,分类器模型xml在cpp文件同一目录下,
测试代码如下:
CascadeClassifier face_cascade; LOGD("0000000000000"); string cascadeName = "lbpcascade_frontalface.xml";
if (!face_cascade.load(cascadeName)) { LOGD("cascadeName == NULL"); }
android.mk文件配置如下:
include $(CLEAR_VARS) OPENCV_LIB_TYPE:=STATIC ifeq ("$(wildcard $(OPENCV_MK_PATH))","") #try to load OpenCV.mk from default install location include /Android/adt-bundle-mac-x86_64-20140702/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk else include $(OPENCV_MK_PATH) endif
LOCAL_MODULE := eyecrop LOCAL_SRC_FILES := eyeCrop.cpp
#日志打印 #LOCAL_LDLIBS:= -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
application.mk文件:
APP_STL:=gnustl_static APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI:=armeabi armeabi-v7a
之前如此配置使用opencv so库写过滤镜的东西,Ok,没使用过分类器,不知道为什么一直报这个错误, 网上也搜索了几点: 1,要使用绝对路径,于是我就把xml的路径改成绝对路径,/Users/****/Documents/workspace/Test/jni/lbpcascade_frontalface.xml 还是一样。
|