android - 使用JNI获取arrayList的元素

我正在使用OpenCV计算一些算法,但是现在我想将其转换为Java代码,在Java代码中,我的程序有一个方法:

public native float[] computeFeatures(ArrayList<float[]> listData);

现在,我正在使用javah生成头文件,在jni中,此方法如下所示:
JNIEXPORT jfloatArray JNICALL Java_cspdemo_CSPTest_computeFeatures (JNIEnv *, jobject, jobject);

如何在JNI中获取listData核心的元素(每个float数组,例如listData1 = {1,3,4,0};)?请帮助我,谢谢!

最佳答案

使用size方法获取集合中的数组数。

然后循环使用get方法获取数组。

然后,对于每个数组,请使用GetFloatArrayElements JNI API。

https://stackoverflow.com/questions/24131187/

相关文章:

opencv - OpenCV直方图反投影替代

opencv - 如何在openCV中的图像上绘制不同的形状?

python - OpenCV和Python:knnMatch参数问题

macos - 带有OpenCV Mac的CMake(小牛)

opencv - 如何使用远距离的一个点(使用opencv)来计算相机方向?

docker - Tensor Flow服务docker无效字段

python - OpenCV VideoCapture仅在5个read()之后更新

docker - 如何创建docker卷设备/主机路径

amazon-web-services - 将 s3fs 挂载为 docker 卷

opencv - 在cmake生成的项目中指定libstd