我在android中用opencv開發Cam-shift我有C++代碼想要在android ndk中實現它,但是我做了相當多的工作,首先我將三個Mat對象發送給像這樣的本地方從JNI返回三個Mat框架
OpencvClass.humanDetection(mRgba.getNativeObjAddr(),frame.getNativeObjAddr(),hsv.getNativeObjAddr());
上機端我讀這樣的
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端如何將我做我有搜索了很多,但沒有找到一個好的解決方案,有沒有人可以ñ幫我解決這個問題?
我看不出有任何需要返回'Mat's,因爲你的地址通過他們。對本地代碼中的「Mat」進行的任何更改都應該反映在Java端(只要不在修改之前在某處進行復制)。 – Michael