将int数组转换为openCV java

时间:2016-06-27 05:48:30

标签: java android opencv java-native-interface

我是openCV的新手。我已将在JNI代码中检测到的Points转换为int数组并返回到我的java程序,这是我的jni程序的代码部分:

    jintArray result;
    jint fill[60];
    for(int k=0; k<30; k++){
        fill[2*k] = V[k].x;
        fill[2*k+1] = V[k].y;
    }
    result = env->NewIntArray(60);
    env->SetIntArrayRegion(result, 0, 60, fill);
    return result;

现在当我尝试将数组转换回我的java程序中的Point时,它给了我这个错误:&#34; java.lang.NullPointerException:尝试写入字段&#39; double org.opencv.core.Point.x&#39;在null对象引用&#34;

    Point[] featureArray = new Point[30];

    for(int i=0;i<30;i++){
        featureArray[i].x = featuresFill[2*i];
        Log.e("test x: ",""+featuresFill[2*i]);
        featureArray[i].y = featuresFill[2*i+1];
        Log.e("test y: ",""+featuresFill[2*i+1]);
    }

我尝试过打印int数组,检测到的功能打印得很好。有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

使用

_

代替