nativeObj

来源:互联网 发布:灰鸽子远程控制淘宝 编辑:程序博客网 时间:2024/05/09 11:48
You can use Utils.bitmapToMat function to convert you bitmap to OpenCV Mat on Java size directly. Then you can pass Mat.nativeObj to your jni function. Mat.nativeObj is a pointer to native C++ Mat Object. You get something like that:

// Java
Core.Mat tmpMat = new Mat();
Utils.bitmapToMat(srcBitmap);
Foo(tmpMat);

// JNI
JNIEXPORT void JNICALL Java_com_my_class_foo(
                JNIEnv* env, jobject thiz, jlong in, jlong out)
{
    cv::Mat* inMat = (cv::Mat*)in;
    cv::Mat* outMat = (cv::Mat*)out;
    // processing
    process_frame(*inMat, *outMat);
}
0 0
原创粉丝点击