转换int数组到点在openCV java



我是openCV的新手。我已经将JNI代码中检测到的点转换为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程序中的点,它给了我这个错误:" java.lang. nullpointerexception:试图写字段'double org.opencv.core.Point。

    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数组,检测到的特征打印出来很好。有人有解决办法吗?

use

featureArray[i] = new Point(featuresFill[2*i], featuresFill[2*i+1]);
相反,

相关内容

  • 没有找到相关文章

最新更新