这段代码总是返回Image未加载,路径是正确的。这是android NDK中的opencv

时间:2016-05-06 22:27:20

标签: java android c++ opencv android-ndk

JNIEXPORT jstring JNICALL Java_com_weiss_konrad_arrowapp_NDKInterface_getID(JNIEnv *env, jobject o ){
    Mat img =  imread("storage/emulated/0/DCIM/Camera/IMG_20160506_141333.jpg");
    if(img.empty())                             
    {
        return env->NewStringUTF("Image not loaded");
    }

    return env->NewStringUTF("Image loaded");
}

1 个答案:

答案 0 :(得分:1)

不同的设备可能使用不同的路径来存储相机图片。您必须使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)来查找正确的路径(有时甚至可以由最终用户更改)。我知道从C ++中调用这个函数是一个负担,所以你可能会发现从Java传递这个路径更容易。