0

我正在尝试构建一个用 C++ 编写的库。此库使用 OpenCV,需要访问一些 xml 文件以进行面部识别。不知何故未提供文件访问权限,运行时出现错误

CascadeClassifier faceCascade.load(faceCascadeFile);

此时我收到错误消息,因为无法打开文件。xml 文件应包含在通过Android.mk包含的 OpenCV 库中

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

我还尝试将 .xml 文件复制到我的 jni 文件夹中,并将它们包含在我的 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

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

4

1 回答 1

2

您必须将设备上的文件直接推送到存储或与资产一起推送。看看这里那里

如果您选择将文件推送到存储上,您可以通过以下方式轻松访问它:

string faceFile = "/sdcard/Download/haarcascade_frontalface_alt2.xml";
CascadeClassifier classifier;
classifier.load(faceFile);
于 2016-03-04T21:21:34.993 回答