从openCV函数C ++ NDK访问返回值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从openCV函数C ++ NDK访问返回值相关的知识,希望对你有一定的参考价值。
我在OpenCV中使用Knn findNearest函数,它接受以下参数:
Mat response;
Mat dist;
knn->findNearest(testFeature, K, noArray(), response, dist);
从response和dist返回的输出是OutputArray类型。
如何以此格式访问response和dist的结果?理想情况下,我想转换为Mat int。
答案
如果要将mat数据复制到cpp数组中,可以这样做。我假设您要返回的Mat数据是float类型。
int size=response.rows*response.cols*resonse.channels();
float* outArr=new float[size];
std::memcpy(outArr,response.data,size*sizeof(float));
你需要删除outArr后将其复制到JNIArray。
以上是关于从openCV函数C ++ NDK访问返回值的主要内容,如果未能解决你的问题,请参考以下文章
Android jni/ndk编程二:jni数据类型转换(primitive,String,array)