2016-03-03 193 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