Android 使用JNI传递并返回OpenCv Mat对象
我想用JNI编写一个函数,如下所示:Android 使用JNI传递并返回OpenCv Mat对象,android,opencv,java-native-interface,mat,Android,Opencv,Java Native Interface,Mat,我想用JNI编写一个函数,如下所示: JNIEXPORT jobject JNICALL Java_com_datumdroid_android_ocr_simple_HoughLine_nativeDetectLine (JNIEnv*jenv,jclass,jstringfileinput,jobject-mat) Java接口将是: nativeDetectLine( String fileInput, Mat mat); 现在我想把Mat传递给JNI并更改它的值 有人能给我一个指导吗
JNIEXPORT jobject JNICALL Java_com_datumdroid_android_ocr_simple_HoughLine_nativeDetectLine
(JNIEnv*jenv,jclass,jstringfileinput,jobject-mat)
Java接口将是:
nativeDetectLine( String fileInput, Mat mat);
现在我想把Mat传递给JNI并更改它的值
有人能给我一个指导吗?
特别是如何处理作业对象。
首先将jlong转换为Mat*,然后取消引用。
JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial2_Tutorial2Activity_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba)
{
Mat& mGr = *(Mat*)addrGray;
Mat& mRgb = *(Mat*)addrRgba;
... do stuff with the Mat objects ...
}