我使用opencv在android中开发Cam-shift我有c ++代码想要在android ndk中实现它但是我已经做了很多,首先我将我的三个Mat对象发送到这样的本地方
OpencvClass.humanDetection(mRgba.getNativeObjAddr(),frame.getNativeObjAddr(),hsv.getNativeObjAddr());
在Native方面我已经阅读了这样的框架
JNIEXPORT void JNICALL Java_com_example_abr_mypl5_OpencvClass_humanDetection
(JNIEnv *, jclass, jlong addrRgba,addrFrame,addrHsv){
Mat& rgba = *(Mat*)addrRgba;
Mat& frame = *(Mat*)addrFrame;
Mat& HSV = *(Mat*)addrHsv;
// here i have implement my code
//now i want to return back this three frames in java side
}
最后我想把我的三个框架还给java方面我该怎么做我已经搜索了很多但没有找到一个好的解决方案,有没有人可以帮我这个问题????
答案 0 :(得分:1)
如果将对象作为指针传递,则无需返回它以进行更改。在这种情况下,您可以直接访问内存中的对象位置,并且每个更改都将立即应用。
请查看有关您问题的additional information。