我是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]);
相反,