我是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数组,检测到的功能打印得很好。有人有解决方案吗?
答案 0 :(得分:0)
使用
_
代替