【问题标题】:Accessing a returned value from openCV function C++ NDK从 openCV 函数 C++ NDK 访问返回值
【发布时间】:2018-06-08 09:42:39
【问题描述】:

我在OpenCV中使用了Knn findNearest函数,它接受以下参数:

Mat response;
Mat dist;

knn->findNearest(testFeature, K, noArray(), response, dist);

从 response 和 dist 返回的输出是 OutputArray 类型。

如何以这种格式访问 response 和 dist 的结果? 理想情况下,我想转换为 Mat int。

【问题讨论】:

  • 可以将mat数据放入cpp数组,然后通过jni数组发送
  • 我该怎么做?我找不到任何将 OutputArray 放入 cpp 数组的文档
  • stackoverflow.com/questions/1610045/…。这可能会有所帮助
  • 恐怕这无济于事。您能否举例说明您在第一个答案中所说的内容?如何将 mat 数据放入 cpp 数组?

标签: c++ opencv android-ndk


【解决方案1】:

如果你想将 mat 数据复制到 cpp 数组中,你可以这样做。 我假设您要返回的 Mat 数据是浮点类型。

int size=response.rows*response.cols*resonse.channels();
float* outArr=new float[size];
std::memcpy(outArr,response.data,size*sizeof(float));

outArr 复制到 JNIArray 后需要删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 2010-12-28
    • 2011-04-24
    • 1970-01-01
    • 2016-08-28
    • 2015-09-14
    相关资源
    最近更新 更多