2 u010000175 u010000175 于 2014.07.29 01:26 提问

Android上利用JNI调用OpenCV函数时出现Fatal signal 11错误

我想在Android上用OpenCV实现人脸识别功能,即事先有一个我提供的人脸训练库,然后检测出人脸后,识别他和训练库中的哪类人最像。

我已在windows平台实现了该功能,并将训练好的FaceRecognizer通过save的方式存储成了xml。我将xml文件放入了Android手机某目录下,然后想利用JNI的方式在Android app中使用OpenCV载入该数据库,但运行到这一行就会报错:

Fatal Signal 11 (SIGSEGV) at 0x42ff0000 (code=2), thread 8703...

这是我的相关代码:

JNIEXPORT jlong JNICALL Java_org_opencv_samples_facedetect_DetectionBasedTracker_nativeCreateObject
(JNIEnv * jenv, jclass, jstring jFileName, jint faceSize)
{
//解析文件目录
const char* jnamestr = jenv->GetStringUTFChars(jFileName, NULL);
string stdFileName(jnamestr);

​FaceRecognizer model = (FaceRecognizer)createEigenFaceRecognizer(100,10000.0);
try
{
model->load(stdFileName);
}

望朋友们出谋划策!十分感谢!

Csdn user default icon
上传中...
上传图片
插入图片