2016-03-03 195 views
0

我想构建一个用C++编写的库。这个库使用OpenCV,需要访问一些xml文件进行人脸识别。不知怎的,文件访问没有给出运行Android NDK访问XML文件

CascadeClassifier faceCascade.load(faceCascadeFile); 

,当我在这一点上得到一个错误,因为该文件无法打开,我得到一个错误。 XML文件中应包含在其中通过包含Android.mk

OPENCV_INSTALL_MODULES:=on 
include ./jni/opencv/sdk/native/jni/OpenCV.mk 

我也试过在我的Android.mk

LOCAL_MODULE   := usit 
LOCAL_SRC_FILES  := gfcf.cpp haarcascade_frontalface_default.xml haarcascade_eye_tree_eyeglasses.xml haarcascade_mcs_eyepair_big.xml haarcascade_mcs_nose.xml 
.xml文件复制到我的JNI文件夹,包括他们OpenCV的LIB

我仍然无法访问此文件。我试图检查构建的库,但找不到任何方法来查看文件是否可用。

回答

2

您必须将设备上的文件直接推送到存储或资产。 看一下herethere

如果选择推上存储文件,你可以很容易地访问它:

string faceFile = "/sdcard/Download/haarcascade_frontalface_alt2.xml"; 
CascadeClassifier classifier; 
classifier.load(faceFile); 
+0

是啊,我添加的文件的资产,并将它们复制到我的内部存储。 – 4ndro1d