0
我想從我的C++源代碼返回一個Mat對象到我的Java代碼。我有以下代碼:JNI墊到Java墊
C++:
JNIEXPORT void JNICALL *snip*_MainActivity_grabResult
(jlong matPtr) {
LOGD("The resultsImg has %d rows.", resultsImg.rows);
LOGD("The sceneImg has %d rows.", sceneImg.rows);
Mat* mat = new Mat(resultsImg.rows, resultsImg.cols, CV_8UC3);
mat = (Mat*) matPtr;
LOGD("Mat resultsImg is: %d", resultsImg.rows);
LOGD("Mat* mat is %d", mat->rows);
}
的Java:
public static native void grabResult(long add);
grabResult(m.getNativeObjAddr());
然而,它似乎並沒有通過墊傳遞給我的Java作爲墊的行大小在Java中是零,在C++代碼中它是一個荒謬的數字,它不應該是一個數字。
任何協助將是偉大的。
什麼是matptr(在c + +代碼中)?你爲什麼用它覆蓋新創建的Mat? – berak
請參閱審查的代碼。老實說,我不知道我在做什麼 - 這是我在網上查找的東西。 – ieen