Opencv机器学习模型指针转换为jlong​​ for App活动

时间:2016-03-30 08:46:00

标签: android c++ opencv

我有一个将c ++指针转换为jlong​​的问题。这是我的情况:我使用JNI加载预训练的opencv机器学习模型ANN_MLP(因为opencv Android SDK中没有加载功能)并且加载功能运行良好。但问题是我不知道如何将这个c ++指针转换为jlong​​,就像我想为我的App返回这个指针一样。我用谷歌搜索但没有资金,所以我只使用memcpy来保存这个指针(也许这不是完美的方法)。还有一个有线的东西,无论我设置memcpy的大小,结果缓冲区(这里是jlong​​ resutl)总是带有来自src缓冲区的8的Offset(这里是模型)。下面是我写的代码:

JNIEXPORT jint JNICALL _BridgeNativeModel_nativePredict
(JNIEnv *jenv, jclass, jlong thiz, jstring jFileName,jlong src, jlong dst){
 Ptr<ml::ANN_MLP> model;
 printf("thiz %p\n", &thiz);
 memcpy(&model, thiz, 4);   // always crashed here, memcpy failed
 ....
 }

当我将这个返回的jlong​​对象转换为MLP指针进行预测时,我也不知道如何将其转换为模型指针:

Joke

提前感谢您的任何建议。 健

0 个答案:

没有答案