Я имею дело с параметром, проходящим между Android-приложением с OpenCV и JNI. Использование библиотек OpenCV в Java У меня есть что-то подобное в коде приложения Android.Параметр, проходящий между Android и JNI
Android OpenCV Java код:
Mat mat; //Mat object with data
Rect rect; //Rect object with data
//call to the native function
int resProc = Native.processImages_native(rect, mat);
C Код:
JNIEXPORT jint JNICALL Java_com_test_Native_processImages_1native
(JNIEnv*, jclass, CvRect, Mat);
...
jint Java_com_test_Native_processImages_1native
(JNIEnv* env, jclass jc, CvRect rect, Mat mat){
int res = processImages(rect, mat);
return (jint)res;
}
...
int processImages(CvRect rect, Mat mat)
{
IplImage *ipl_Img = &mat.operator IplImage(); // here FAILS
CvRect rect_value = rect;
}
Но когда я пытаюсь сделать де преобразование (Мат) до (IplImage *) в код C моего приложения не работает. Поэтому мой вопрос заключается в том, как передать объект CvRect и Mat из моего кода Java Java в JNI. Есть лучший способ сделать это?
Большое спасибо.
Кажется, работает, спасибо большое! – brachialste