3
我正在處理Android應用程序與OpenCV和JNI之間傳遞的參數。在Java中使用OpenCV庫我在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;
}
但是,當我試圖讓從(MAT)去轉換(IplImage結構*)在C代碼我的應用程序失敗。所以我的問題是關於如何將Android Java代碼中的CvRect和Mat對象傳遞給JNI。有一個更好的方法嗎?
非常感謝。
似乎工作,非常感謝! – brachialste 2014-10-02 20:48:17